PHPの初心者でHPの作成を目指して学習中のものです。
ある本を参考に学習を進めているのですがphpのプログラムからmyAdminへの接続が始まった部分から参考書の通りに行かなくなりました。
発生している問題・エラーメッセージ
Notice: Undefined variable: data in C:\xampp\htdocs\nomugibus\staff_add_done.php on line 26
Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in C:\xampp\htdocs\nomugibus\staff_add_done.php:26 Stack trace: #0 C:\xampp\htdocs\nomugibus\staff_add_done.php(26): PDOStatement->execute(NULL) #1 {main} thrown in C:\xampp\htdocs\nomugibus\staff_add_done.php on line 26
該当のソースコード
$staff_name = $_POST['name']; $staff_pass = $_POST['pass']; $staff_name = htmlspecialchars($staff_name,ENT_QUOTES,'UTF-8'); $staff_pass = htmlspecialchars($staff_pass,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 = "INSERT INTO mst_staff (name, password) VALUES ( :$staff_name, :$staff_pass)"; $stmt = $dbh->prepare($sql); $stmt->execute($data); $dbh = null; print $staff_name; print 'さんを追加しました。<br/>';
試したこと
myAdminから直接
INSERT INTO mst_staff(name,password) VALUES("***","***")
と入力した場合はデータベースにデータが入りました。
補足情報(FW/ツールのバージョンなど)
現在XAMPP vr.3.2.3 phpMyadmin vr.4.8.5のローカルホストで練習中です。
よろしくお願いいたします。m(__)mリンク内容
回答1件
あなたの回答
tips
プレビュー