「いちばんやさしいPHPの教本」を参考にPHPの勉強をしております。
内容は、クックパッドのような料理レシピを登録、閲覧できるサービスを作ろうというものです。
データベースはMAMPとMySQLを使用しています。
プレースホルダーを設定して変化する数字を受け取るというところまで進んだのですが、
ブラウザで表示できなくて困っています。読込中がずっと続いてしまっています。
URLは、http://localhost/yasashiiphp/detail.php?id=1
で、受け取ったIDを利用してデータベースからデータを取得しようとしています。
模範解答とも照らし合わせたのですが、どこが間違えているのかわかりません。
<?php $user = "●"; $pass = "●"; try { if (empty($_GET['id'])) throw new Exception('ID不正'); $id = (int) $_GET['id']; $dbh = new PDO('mysql:host=localhost;dbname=db1;charset=utf8', $user, $pass); $dbh ->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $dbh ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT * FROM recipes WHERE id = ?"; $stmt = $dbh->prepare($sql); $stmt ->bindValue(1, $id, PDO::PARAM_INT); $stmt ->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); print_r($result); $dbh = null; } catch (Exception $e) { echo "エラー発生:" . htmlspecialchars($e->getMessage(), ENT_QUOTES,'UTF-8') . "<br>"; die(); } ?>
$user, $passにはそれぞれ自分が設定したものを入力しています。
もし原因のわかる方がいらっしゃいましたらご教授願います。
あなたの回答
tips
プレビュー