Het verkrijgen van het resultaat bij een SQL-query in PHP
In de vorige les hebben we de testcode gemaakt. Laat me het essentiële deel herinneren dat de query naar de database uitvoert:
<?php
$query = 'SELECT * FROM users';
$res = mysqli_query($link, $query) or die(mysqli_error($link));
var_dump($res);
?>
Zoals je ziet, nadat de query naar de database
is uitgevoerd, zal in de variabele $res
het resultaat van deze actie liggen. Echter,
het ligt niet in de vorm die we nodig hebben
in PHP, maar in de vorm waarin de database
het naar ons heeft gestuurd.
Om het resultaat in de voor ons gebruikelijke
vorm te krijgen, is het noodzakelijk om de functie
mysqli_fetch_assoc te gebruiken, die één rij
uit het resultaat haalt.
Laten we het proberen:
<?php
$row = mysqli_fetch_assoc($res);
var_dump($row);
?>
Als resultaat zal var_dump een array
met de eerste werknemer weergeven:
<?php
['id' => 1, 'name' => 'user1', 'age' => 23, 'salary' => 400]
?>
Hierbij verdwijnt de eerste werknemer uit de variabele
$res, en de volgende aanroep van mysqli_fetch_assoc
zal de volgende werknemer ophalen.
En zo kan je onze functie aanroepen totdat
de werknemers op zijn. Zodra dit gebeurt,
zal de volgende aanroep van de functie
false teruggeven.
Laten we het proberen:
<?php
$row1 = mysqli_fetch_assoc($res);
var_dump($row1); // werknemer nummer 1
$row2 = mysqli_fetch_assoc($res);
var_dump($row2); // werknemer nummer 2
$row3 = mysqli_fetch_assoc($res);
var_dump($row3); // werknemer nummer 3
$row4 = mysqli_fetch_assoc($res);
var_dump($row4); // werknemer nummer 4
$row5 = mysqli_fetch_assoc($res);
var_dump($row5); // werknemer nummer 5
$row6 = mysqli_fetch_assoc($res);
var_dump($row6); // werknemer nummer 6
$row7 = mysqli_fetch_assoc($res);
var_dump($row7); // geeft NULL weer - werknemers zijn op
?>