topic: db (PDO / SQL / マルチDB) / ch03 — SELECT 基本 / fetchAll / ループ / 演習 03
📝 ドリル 03 — name 列だけを取り出して改行区切りで出力
問題
users テーブルから name 列だけを id 昇順で取得し、各名前を 1 行ずつ出力してください。
users には 3 行入っています (前の drill と同じデータ)。
期待される出力:
太郎
花子
次郎
採点
php scripts/grade.php topics/11-db/ch03-select-basic/drill/03-fetch-column/
ヒント
SELECT name FROM users ORDER BY idforeach ($pdo->query($sql) as $row) { echo $row['name'] . "\n"; }fetchAllを使って配列にしてforeachでも OK
テストケース
期待される出力
太郎
花子
次郎
📄 starter.php(雛形)
このコードから書き始めてください。
<?php
$pdo = new PDO('sqlite:' . getenv('DOJO_DB_PATH'));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// TODO: users から name だけを id 昇順で取り出し、1 行ずつ出力する
// ヒント: foreach ($pdo->query('SELECT name FROM users ORDER BY id') as $row) { echo $row['name'] . "\n"; }
✅ 解答例を見る(自分で解いてから)
<?php
$pdo = new PDO('sqlite:' . getenv('DOJO_DB_PATH'));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
foreach ($pdo->query('SELECT name FROM users ORDER BY id') as $row) {
echo $row['name'] . "\n";
}