topic: db (PDO / SQL / マルチDB) / ch07 — fetch のモード / 演習 02

📝 ドリル 02 — fetchColumn で COUNT(*)

問題

users テーブルの 件数SELECT COUNT(*) FROM users で取得して、 "件数: {n}" の形式で出力してください。 取り出しには fetchColumn() を使うこと。

初期データは 4 件入っているので、出力は 4 になる。

期待される出力:

件数: 4

採点

php scripts/grade.php topics/11-db/ch07-fetch-modes/drill/02-fetch-column/

ヒント

  • $stmt = $pdo->query("SELECT COUNT(*) FROM users");
  • $count = $stmt->fetchColumn();
  • 集計の単一値は fetchAll より fetchColumn の方が短く書ける

テストケース

期待される出力

件数: 4

📄 starter.php(雛形)

このコードから書き始めてください。

<?php

$pdo = new PDO('sqlite:' . getenv('DOJO_DB_PATH'));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// TODO: SELECT COUNT(*) FROM users を実行する

// TODO: fetchColumn() で単一値を取り出す

// TODO: "件数: {n}" の形式で出力する
✅ 解答例を見る(自分で解いてから)
<?php

$pdo = new PDO('sqlite:' . getenv('DOJO_DB_PATH'));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->query("SELECT COUNT(*) FROM users");
$count = $stmt->fetchColumn();

echo "件数: {$count}\n";