質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

6838閲覧

Notice: Undefined variable:についてのエラー場所がわからない

ShimoK

総合スコア13

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/06/17 12:44

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

例えば$bbd_idが未定義ですよね。代入されていないというか。$bbd_idの中身が何か言えますか?

投稿2018/06/17 13:18

papinianus

総合スコア12705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShimoK

2018/06/17 13:49

すいません、「 $stmt->bindValue(':bbd_id', $bbd_id, PDO::PARAM_INT);」の場合の代入って例えばどんな感じなのですか?
papinianus

2018/06/18 00:21

書きかたがよくなかったですが、「$bbd_id(他も)が未定義」が主たる問題です。未定義が分からないかなと思って代入していない、と書きました。 例えばどんな感じかで言うと、 $bdd_id = '120'; $stmt->bindValue(':bbd_id', $bbd_id, PDO::PARAM_INT); という流れではないですか、という意味です。
ShimoK

2018/06/19 02:00

自己解決できました。親切な回答、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問