PHPでデータベースにデータを挿入していくプログラムを作っています。
データベースにinsertする箇所の「 $stmt->…」の部分があります。
「$stmt->bindParam」のほうはエラーを吐かなかったのですが「 $stmt->bindValue」のほうはタイトルのように「Notice: Undefined variable」と出ました。
PHPを始めてまだ日が浅く初心者です。どなたか原因を教えてください!
PHP
1<!DOCTYPE html> 2<html lang = "ja"> 3<head> 4 <meta charset = "UFT-8"> 5 <title>レコード追加画面</title> 6</head> 7<body> 8 <h1>投稿フォーム</h1> 9 <form method = "POST" action = "record.php"> 10 <p> 11 ニックネーム:<br /> 12 <input type="text" name="name"size="20"maxlength="15"><br><br> 13 筋トレレベル:<br /> 14 <select name="muscle_level"> 15 <option value="">選択してください</option> 16 <option value="1">初級</option> 17 <option value="2">中級</option> 18 <option value="3">上級</option> 19 </select> 20 </p><p> 21 ジャンル:<br /> 22 <select name="muscle_genre"> 23 <option value="">選択してください</option> 24 <option value="1">自慢</option> 25 <option value="2">相談</option> 26 <option value="3">その他</option> 27 </select> 28 29 </p><p> 30 メッセージ:<br /> 31 <textarea name="message" cols="50" rows="5"></textarea> 32 </p><p> 33 <input type = "submit" value = "登録" /> 34 </form> 35 36 </body> 37 38 </html> 39 40 <?php 41 try { 42 $pdo = new PDO('mysql:host=localhost;dbname=g031o082;charset=utf8','test','enzyl68x', 43 array(PDO::ATTR_EMULATE_PREPARES => false)); 44 45 $stmt = $pdo -> prepare("INSERT INTO muscle_bbd (bbd_id,name, muscle_level,muscle_genre,message) VALUES (:bbd_id,:name, :muscle_level,:muscle_genre,:message)"); 46 $stmt->bindValue(':bbd_id', $bbd_id, PDO::PARAM_INT); 47 $stmt->bindParam(':name', $name, PDO::PARAM_STR); 48 $stmt->bindValue(':muscle_level', $muscle_level, PDO::PARAM_INT); 49 $stmt->bindValue(':muscle_genre', $muscle_genre, PDO::PARAM_INT); 50 $stmt->bindParam(':message', $message, PDO::PARAM_STR); 51 $stmt->execute(); 52 53 } catch (PDOException $e) { 54 exit('データベース接続失敗。'.$e->getMessage()); 55 } 56?> 57
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/17 13:49
2018/06/18 00:21
2018/06/19 02:00