インターネット上での商品管理システムの勉強をしています。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ろくまる農園</title> </head> <body> <?php try{ $pro_code = $_POST['code']; $pro_name = $_POST['name']; $pro_price = $_POST['price']; $pro_code = htmlspecialchars($pro_code, ENT_QUOTES, 'UTF-8'); $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= ''; $dbh = new PDO($dsn,$user,$password); $dbh -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = 'UPDATE mst_product SET name=?,price=? WHERE code=?'; $stmt = $dbh->prepare($sql); $data[] = $pro_code; $data[] = $pro_name; $data[] = $pro_price; $stmt->execute($data); $dbh = null; print '修正しました。<br />'; } catch (PDOException $e){ print 'ただいま障害発生中です。ご迷惑おかけします。'; echo $e->getMessage(); exit(); } ?> <a href="pro_list.php">戻る</a> </body> </html>
このようなコードを写したのですが、データベース上のデータが書き換わらない
ようで、戻るボタンを押しても商品名と価格も変化しません。
UPDATEの部分が利いてないような気がするのですが、
コードのミスなども含めてみていただきたいです。
似たような質問をしている方の記事を見つけたので
var_dump($data);
exit;
を打ち込んでみました。
array(3) { [0]=> string(1) "2" [1]=> string(6) "高菜" [2]=> string(3) "180" }
どうやら、書き換えたいデータは取得できているようです。
回答1件
あなたの回答
tips
プレビュー