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 id
  • foreach ($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";
}