# 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
}
?>
@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.
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.