ch04 — WHERE / プレースホルダ / prepare + execute
スライドで見るこの章を AI と学ぶ
💬 AI に聞く質問例 3 件
-
「ch04 — WHERE / プレースホルダ / prepare + execute」のつまずきやすいポイントを、初学者向けに3つ教えてください
-
「ch04 — WHERE / プレースホルダ / prepare + execute」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)
-
「ch04 — WHERE / プレースホルダ / prepare + execute」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください
演習問題の詳細
この章の演習問題の内容を読めます。実際に手元で解くには教材リポジトリを clone してください。
ドリル 01 — `age = ?` で特定年齢の名前を出力
問題
users テーブル (id, name, age) には次の 3 行が入っています。
| id | name | age |
|---|---|---|
| 1 | 太郎 | 20 |
| 2 | 花子 | 25 |
| 3 | 次郎 | 30 |
age がちょうど 25 の人の名前 を、id 昇順で 1 行ずつ出力してください。
期待される出力:
花子
必須ルール
- 値を SQL に 文字列連結してはいけません
?プレースホルダ +prepare()+execute()を使うこと
ヒント
$stmt = $pdo->prepare('SELECT name FROM users WHERE age = ? ORDER BY id');
$stmt->execute([25]);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
ドリル 02 — `age >= ?` で 25 以上の人を出力
問題
users テーブル (id, name, age) には次の 3 行が入っています。
| id | name | age |
|---|---|---|
| 1 | 太郎 | 20 |
| 2 | 花子 | 25 |
| 3 | 次郎 | 30 |
age が 25 以上の人の名前 を id 昇順で 1 行ずつ出力してください。
期待される出力:
花子
次郎
必須ルール
- 値を SQL に 文字列連結してはいけません
?プレースホルダ +prepare()+execute()を使うこと
ヒント
$stmt = $pdo->prepare('SELECT name FROM users WHERE age >= ? ORDER BY id');
$stmt->execute([25]);🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
ドリル 03 — `name LIKE ? AND age < ?` で 2 条件検索
問題
users テーブル (id, name, age) には次の 4 行が入っています。
| id | name | age |
|---|---|---|
| 1 | 太郎 | 20 |
| 2 | 花子 | 25 |
| 3 | 次郎 | 30 |
| 4 | 太田 | 22 |
次の 2 条件を両方 満たす人の名前を、id 昇順で 1 行ずつ出力してください。
nameが「太」で始まる (LIKE '太%')ageが 30 より小さい (age < 30)
期待される出力:
太郎
太田
必須ルール
- 値を SQL に 文字列連結してはいけません
?プレースホルダを 2 つ使い、execute([...])に 2 個の値を渡すことLIKEのワイルドカード%は 渡す値 の側に入れる (例:'太%')
ヒント
$sql = 'SELECT name FROM users WHERE name LIKE ? AND age < ? ORDER BY id';
$stmt = $pdo->prepare($sql);
$stmt->execute(['太%', 30]);🧪 ブラウザで試す
スライドのコードを写経して ▶ 実行、自分で書いて 📝 採点 で答え合わせ。初回のみ PHP ランタイム読込で数秒かかります。
演習問題(3問)
-
ドリル 01 — `age = ?` で特定年齢の名前を出力
-
ドリル 02 — `age >= ?` で 25 以上の人を出力
-
ドリル 03 — `name LIKE ? AND age < ?` で 2 条件検索
サイト内で問題文・雛形・解答例を確認できます。実際に手元で解くには教材リポジトリを clone してください。
完了にすると進捗に反映されます