SQL Beginnershandleiding

  1. Inleiding
  2. De eerste tabel
  3. De database benaderen vanuit PHP
  4. PDO: De database benaderen vanuit PHP
  5. Invoegen van records
  6. PDO: Invoegen van records
  7. Selecteren van records
  8. PDO: Selecteren van records
  9. Wijzigen van records
  10. PDO: Wijzigen van records
  11. Verwijderen van records
  12. PDO: Verwijderen van records
  13. Sleutels en constraints
  14. Selecteren uit meerdere tabellen: JOINS
  15. Werken met data en tijden
  16. Aggregate functies en GROUP BY
  17. Debuggen: het oplossen van SQL fouten
  18. Slotwoord en referenties
  19. Reacties op deze tutorial

PDO: Selecteren van records

De syntax voor het selecteren van records met PDO is niet heel veel anders dan bij het uitvoeren van andersoortige queries. We zullen wel een extra onderdeel zien en dat is het fetchen van de resultaten met behulp van PDO.

Selecteren van records (PDO)
De code voor het selecteren van records ziet er als volgt uit:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
require_once 'db_config.php';

try
{
    
$sQuery "
        SELECT
            voornaam
        FROM
            werknemers
    "
;
    
    
$oStmt $db->prepare($sQuery);
    
$oStmt->execute();
    
    while(
$aRow $oStmt->fetch(PDO::FETCH_ASSOC))
    {
        echo 
$aRow['voornaam'].'<br />';
    }
}
catch(
PDOException $e)
{
    
$sMsg '<p>
            Regelnummer: '
.$e->getLine().'<br />
            Bestand: '
.$e->getFile().'<br />
            Foutmelding: '
.$e->getMessage().'
        </p>'
;
    
    
trigger_error($sMsg);
}
?>

Tot aan de while-loop zal alles je redelijk bekend voorkomen. Wat we in de while loop doen is de PDO variant van mysql_fetch_assoc(). Met behulp van de fetch() methode kunnen we rij voor rij uit de resultaat set fetchen. Door de constante PDO::FETCH_ASSOC mee te geven, is het resultaat een associatieve array waarin de kolomnamen de keys vormen.

Wat opvalt is dat PDO geen functie als mysql_num_rows() kent en we dus niet zomaar kunnen zien of er records in de resultaat set zitten. Om toch het aantal rijen dat opgehaald wordt te bepalen zouden we eerste een SELECT query met COUNT() uit kunnen voeren. Een andere manier is alle resultaten eerst met de fetchAll() methode in een array te zetten en vervolgens de PHP functie count() te gebruiken.

Meer informatie daarover vind je in het hoofdstuk over prepared statements in de PDO tutorial.

Vorige Volgende