現在、「気づけばプロ並み PHP改訂版」(著 谷藤賢一)を使い、
ショッピングサイトの模擬サイトを作成中です。
現在、チャプター3章において、
商品をデータベースに追加しようとしていますが、
try部分を抜け、catch部分にいってしまい、
データベースにデータが蓄積されません。
ちなみに、チャプター2でも同様に名前等をデータベースに蓄積することができましたので、
mysqlへのアクセスはできていて、
sqlに間違いがあるのかと考えています。
サンプルソースをコピペして使ってみても、うまくいかない状況です。
質問に対して、不足している情報がありましたら、
ご指摘いただけましたら幸いです。
よろしくお願いします。
発生している問題・エラーメッセージ
ただいま障害により大変ご迷惑をお掛けしております。
該当のソースコード
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ろくまる農園</title> </head> <body> <?php try { $pro_name=$_POST['name']; $pro_price=$_POST['price']; $pro_name=htmlspecialchars($pro_name); $pro_price=htmlspecialchars($pro_price); $dsn='mysql:dbname=shop;host=localhost;charset=utf8'; $user='root'; $password=''; $dbh=new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql='INSERT INTO mst_product(name,price) VALUES (?,?)'; $stmt=$dbh->prepare($sql); $data[]=$pro_name; $data[]=$pro_price; $stmt->execute($data); $dbh=null; print $pro_name; print 'を追加しました。<br />'; } catch(Exception$e) { print'ただいま障害により大変ご迷惑をお掛けしております。'; exit(); } ?><a href="pro_list.php">戻る</a>
</body> </html>回答2件
あなたの回答
tips
プレビュー