PHPにおけるPDOを使用したデータベースクエリ
データベース接続後に取得した変数 $pdo は、
OOPオブジェクトを表しています。このオブジェクトには、
SQLクエリを実行する特別なメソッド query があります。
テーブルに対してテストクエリを実行してみましょう:
<?php
$res = $pdo->query('SELECT * FROM users');
?>
変数 $res にはクエリの結果が格納されます。
結果から1行を取得するには、
メソッド fetch を使用する必要があります:
<?php
$row = $res->fetch();
var_dump($row); // 最初の行
$row = $res->fetch();
var_dump($row); // 2番目の行
$row = $res->fetch();
var_dump($row); // 3番目の行
?>
行がなくなると、メソッドは null を返します。
したがって、次のループで行を取得するのが便利です:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
例として、ユーザーの名前を個別の段落で出力してみましょう:
<?php
while ($row = $res->fetch()) {
echo '<p>' . $row['name'] . '</p>';
}
?>
すべてのコードをまとめます:
<?php
$res = $pdo->query('SELECT name FROM users');
while ($row = $res->fetch()) {
echo '<p>' . $row['name'] . '</p>';
}
?>
テーブル users からすべてのユーザーの給料を出力してください。
すべてのレコードを 名前: 年齢 の形式で出力してください。