Beginnersfout deluxe!
Dus nu zit in $res ons resultaat van de query? Kan , maar je mag hier niet van uit gaan! Je query kan fout zijn, er kan een tikfout in zitten en je kan gewoon geen results hebben omdat er niets voldoet aan je voorwaarde. Hoe lossen we dit op? Foutafhandeling!
Nou zijn hiervoor de technische en de duidelijke manier. Ik pak de laatste.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
$sql = 'SELECT persoon
FROM namen
WHERE persoon = "peter"';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) >= 1)
{
echo 'Resultaat!';
} else {
echo 'Geen data gevonden';
}
?>
$sql = 'SELECT persoon
FROM namen
WHERE persoon = "peter"';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) >= 1)
{
echo 'Resultaat!';
} else {
echo 'Geen data gevonden';
}
?>
Hier staat in het kort: Als er resultaat komt uit je query functie, en het aantal rijen dat je resultaat telt groter of gelijk is aan 1. Oftewel, query gelukt en er is een uitkomst!
Nu kan je met $res nog niet al te veel. Als ik een aantal mensen heb die peter heten wil ik hun adressen allemaal wel eens weten. Hoe haal ik die nu uit $res?
Weer, een aantal manieren, ik zal de meest duidelijke uitleggen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
$sql = 'SELECT persoon, adres
FROM namen
WHERE persoon = "peter"';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo 'naam: '.$row['persoon'].' adres: '.$row['adres'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
?>
$sql = 'SELECT persoon, adres
FROM namen
WHERE persoon = "peter"';
$res = mysql_query($sql,$link);
if ($res && mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo 'naam: '.$row['persoon'].' adres: '.$row['adres'].'<br>';
}
} else {
echo 'Geen data gevonden';
}
?>
Dit begint er al op te lijken en is eigenlijk de hele basis hoe het goed kan.
$res is niets meer dan een array met waardes die je uitleest.
Met mysql_fetch_array($res) haal je deze per regel uit elkaar en zet ze in dit geval in $row, weer een heldere naam voor een array met alleen rijen!
in $row staan nu elke regel die je uitleest (while) de waardes uit persoon en adres uit de tabel namen.
Mocht je meer willen weten over wat hier mogelijk mee is, klikkerdeklik
« vorige pagina | volgende pagina »