beste,

kan iemand me vertellen wat ik verkeerd doe zie het helaas :( niet


<!--Aankomende trainingen-->
            <table cellpadding="3" cellspacing="0" border="0" bgcolor="#d7d39a" width="160" style="border:1px solid #bbb875; font-size:12px;">
            <tr>
            <td valign="middle" style="font-size:16px; color:#4c6b0d; padding-top:5px; padding-bottom:5px;">Aankomende Trainingen</td>
     			           
            </tr>
            <tr>
            <td style="font-size:11px; color:#626039; border-top:1px solid #bbb875;">
	            
            </td>
            </tr>
            </table></br>
            <!--End Training-->


$query = mysql_query("SELECT * FROM training ORDER BY Datum  DESC  LIMIT 3");
			$Q =($query) or die (mysql_error());
            echo $query;
geeft nu deze fout

Warning: mysql_query() expects parameter 1 to be string, resource given in C:\wamp\www\tets\nieuwsbrief.php on line 214
Oeps ...
Ik zag iets over het hoofd,

Op regel 1 voer je al je query uit.
<?php
# We zetten dit volledig bovenaan

# errors weergeven
ini_set('display_errors',1); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

# sql debug
define('DEBUG_MODE',true); // true == aan, false == uit

# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}



# zet dit waar je query moet

# de query | bij input: let op sql-injectie -> mysql_real_escape_string()
$sql_get_training ="SELECT *
FROM training
ORDER BY Datum DESC
LIMIT 3
";

# Check of query is gelukt
if (($result_get_training = mysql_query($sql_get_training)) === false)
{
# als de query fout is -> foutafhandeling
echo showSQLError($sql_get_training,mysql_error(),'Fout met het ophalen van de training.');
}
elseif (mysql_num_rows($result_get_training) == 0)
{
# De query is gelukt en we hebben net gekeken met _num_rows of er een rij is:

# -> Als er geen rij is echoën we hier:
echo 'Er is geen training';
}
else
{
# Hier is er wel een rij dus ->

#we kunnen onze gegevens uit de database halen d.m.v. mysql_fetch_assoc
$row_training = mysql_fetch_assoc($result_get_training);
var_dump($row_training)
}
?>
Een verkorte versie van de code en uitleg die je hier boven kan vinden.

<?php
// de SQL string.
$sql = "SELECT * FROM training ORDER BY Datum DESC LIMIT 3";
// de SQL query uitvoeren. $res geeft je een mysql-resource. Een resource kan je niet rechtstreeks echo'en
$res = mysql_query($sql);
// nu kunnen we die resource lezen, dat gebeurt met een fetch- functie
while($row = mysql_fetch_assoc($res)) {
// stel dat er een veld is met de naam id, dan lezen we die zo:
echo 'id van de rij: ' . $row['id'] .'<br>';
// vervang 'id' door het veld dat je wil zien
}
?>
op regel 54 mist er een ; hij gaf een fout




Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given
@Kris, waar is je foutafhandeling?
Stel dat er iets fout gelopen is.

En wat als er geen resultaten zijn? Krijg je gewoon een NULL.
Akkoord, de code van mij is wat langer, maar de SQL Debug kan je eruit laten, en de error reporting ook.
- Diov - op 13/11/2013 15:25:38

@Kris, waar is je foutafhandeling?


Bij jouw code.

------

Wie iets van basis niet snapt, zal ik niet overdonderen met code.

Matthijs, zou je even de titel van dit topic willen aanpassen. De huidige titel zegt niks over je probleem. Iedereen doet namelijk iets verkeerd en als iedereen zo'n vage titel gebruikt, wordt het een rommeltje op het forum. Alvast bedankt.
thanks ;)

Reageren