Dotazy na databázi přes PDO v PHP
Proměnná $pdo, kterou jsme získali
po připojení k databázi, představuje
objektově orientovaný objekt. Tento objekt má speciální
metodu query, která provádí SQL dotazy.
Pojďme udělat nějaký testovací dotaz
do naší tabulky:
<?php
$res = $pdo->query('SELECT * FROM users');
?>
V proměnné $res bude uložen
výsledek dotazu. Abychom
získali jeden řádek z výsledku,
je třeba použít metodu fetch:
<?php
$row = $res->fetch();
var_dump($row); // první řádek
$row = $res->fetch();
var_dump($row); // druhý řádek
$row = $res->fetch();
var_dump($row); // třetí řádek
?>
Až řádky dojdou, metoda vrátí null.
Proto je vhodné získávat řádky v následující
cyklu:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Pojďme pro příklad vypsat jména uživatelů v samostatných odstavcích:
<?php
while ($row = $res->fetch()) {
echo '<p>' . $row['name'] . '</p>';
}
?>
Pojďme složit celý kód dohromady:
<?php
$res = $pdo->query('SELECT name FROM users');
while ($row = $res->fetch()) {
echo '<p>' . $row['name'] . '</p>';
}
?>
Vypište platy všech uživatelů
z tabulky users.
Vypište všechny záznamy ve formátu jméno: věk.