前提・実現したいこと
「気づけばプロ並みPHP」という本でECサイトを作る練習をしているのですが、下記のエラーからどうしても抜け出せなくなってしまいました。入力ミス等確認しましたが、自分ではミスを見つけることができず、質問をさせてください。
最初のエラーは変数未定義のエラーだと思いますが、同様のコードを使用した他のページではエラー発生はしませんでした。
2つ目のエラーは1つ目が解消すれば治りますでしょうか。それとも別エラーでしょうか。
どうぞご確認とアドバイスをお願いします。
発生している問題・エラーメッセージ
Notice: Undefined index: price in /Applications/MAMP/htdocs/product/pro_add_done.php on line 11 Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'price' at row 1 in /Applications/MAMP/htdocs/product/pro_add_done.php:25 Stack trace: #0 /Applications/MAMP/htdocs/product/pro_add_done.php(25): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/product/pro_add_done.php on line 25
該当のソースコード
<!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,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; $stmt->execute($data); $dbh=null; echo $pro_name . "を追加しました。<br>"; } catch(Exseption $e){ echo "ただいま障害により大変迷惑をおかけしております(" . $e->getMessage() . ")"; exit(); } ?> <a href="pro_list.php">戻る</a> </body> </html> ### 試したこと 入力ミス等確認 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答4件
あなたの回答
tips
プレビュー