We gaan eerst één specifiek record uit onze database/tabel ophalen. Om dit te doen, gebruiken we volgend stappenplan:
1. maak verbinding met de server en selecteer de database (mysqli_connect);
2. bouw een query op en steek die query in een variabele ($query);
3. voer de query uit door middel van de functie mysqli_query(). Als parameter geven we onze variabele $query mee. De return van dit alles vangen we op in een variabele $resultaat;
4. om met het resultaat van die query (= een record) te kunnen werken, gebruiken we de functie mysqli_fetch_assoc(). Als parameter geven we onze variabele $result mee;
Tip! De returnwaarde van mysqli_fetch_assoc() is een array (met namen) die we kunnen gebruiken. We stoppen die returnwaarde daarom in een variabele $row;
5. nu kunnen we met de variabele $row (die dus een array is) gaan werken.
<?php
// 1. verbinding maken met server en database selecteren
// Actieve verbinding zit in $link, pas de variabele db_naam nog even aan.
// Gegevens localhost, root en "" zijn enkel van toepassing in de lokale omgeving
$link = mysqli_connect("localhost","root","","db_naam");
// 2. bouw query op
$query = "select naam, voornaam, klas from tblLeerlingen where id = 1";
// 3. voer query uit
$result = mysqli_query($link, $query);
// Resultaat van query kan bestaan uit meerdere rijen uit de database, hier gaan we er vanuit dat het er maar 1 is
$row = mysqli_fetch_assoc($result);
// Vanuit deze rij (array) kunnen we nu de verschillende elementen (kolommen uit de database: naam, voornaam, klas) halen
echo "De naam van de leerling is: ".$row['naam']."<br>";
echo "De voornaam van de leerling is: ".$row['voornaam']."<br>";
echo "De klas van de leerling is: ".$row['klas']."<br>";
?>
Om de inhoud van de records weer te geven, gebruiken we nu het punt om alles aan elkaar te kleven.
Als je meerdere records uit je tabel wil ophalen (of je weet niet hoeveel records je gaat terugkrijgen), dan kan je dit stappenplan gebruiken:
1. maak verbinding met de server en selecteer de database;
2. bouw de query op en steek die in een variabele $query;
3. voer de query uit door middel van de functie mysqli_query(). Als parameter geven we onze $query mee. De return van dit alles vangen we op in een variabele $result;
4. nu gaan we de stap waarin we $row = mysqli_fetch_assoc($result) gebruiken, in een lus zetten. Elk gevonden record wordt op die manier overlopen en tijdelijk in $row gestoken.
<?php
// 1. maak verbinding met de server en selecteer de database
$link = mysqli_connect("localhost","root","","db_naam");
// 2. bouw de query op en steek die in een variabele $query
$query = "select naam, voornaam, klas from tblLeerlingen order by naam, voornaam";
// 3. voer de query uit en sla het resultaat op in de variabele "result"
$result = mysqli_query($link, $query);
// 4. overloop elke rij die je als resultaat terug krijgt en geef de gekende gegevens weer
while($row = mysqli_fetch_assoc($result)){
echo "De naam van de leerling is: ".$row['naam']."<br>";
echo "De voornaam van de leerling is: ".$row['voornaam']."<br>";
echo "De klas van de leerling is: ".$row['klas']."<br>";
echo "<br><br>";
}
?>
Tot hiertoe gaan we er steeds van uit dat alles goed gaat en dat er geen fouten in onze query zitten. Als dat wel zou zijn, krijgen we vreemde resultaten. Om dat op te vangen, kunnen we rond onze mysqli_query() een bijkomende controle plaatsen. Loopt het fout bij het uitvoeren van de query, dan kunnen we een propere melding laten zien die ook nog aangeeft waar de fout in onze query (ongeveer zit):
<?php
$link = mysqli_connect(“localhost”,”root”,””,”db_naam”);
$query = “select naam, voornaam, klas from tblLeerlingen order by naam, voornaam”;
//voorkom rare resultaten door deze if structuur te gebruiken
if($result = mysqli_query($link, $query)){
while($row = mysqli_fetch_assoc($result)){
echo “De naam is: “.$row[‘naam’].”<br>”;
echo “De voornaam is: “.$row[‘voornaam’].”<br>”;
echo “De klas is: “.$row[‘klas’].”<br>”;
echo “<br><br>”;
}
} else{
echo “Fout bij het uitvoeren van de query: “.mysqli_error($link);
}
?>