phpでSQLをexecuteしたい
解決したいこと
市販書籍教材に沿ってphpでwebアプリ(ショッピングサイト)をつくっています。
SQLをexecute()したいのですが、動いてくれません。
executeの引数をvar_dumpしたら、正常にarrayが表示されますので、
execute以前の処理に問題はないと思うのですが、他の原因の検討がつかず困っています。
諸先輩方、解決方法を教えて下さい。
発生している問題・エラー
catchの処理が表示されます。
該当するソースコード
<?php
try {
$pro_name = $_POST['name'];
$pro_price = $_POST['price'];
$pro_name = htmlspecialchars($pro_name, ENT_QUOTES, 'UTF-8');
$pro_price = htmlspecialchars($pro_price, ENT_QUOTES, 'UTF-8');
$dsn = 'mysql:dbname=shop;host=localhost;charset=utf8';
$user = 'root';
$password = 'root';
$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;
var_dump ($data);
$stmt->execute($data);
$dbh = null;
print $pro_name;
print 'を追加しました。<br/>';
}catch (Exception $e) {
print 'ただいま障害により大変ご迷惑をお掛けしております。';
exit();
}
?>
0 likes