よくわかるPHPの教科書を使って、PHPの学習をしています
エラーが出て困っています
調べてところ
INSERT文のVALUE()の値をシングルコーテションで囲む必要があると書かれていましたが
参考書の記述ではsprintfを使って%d or "%s" にPOSTされた情報を代入しているようです
この場合はどのように解決すればよいのでしょうか
データベースの中身
名前 mydb
テーブル my_items
要素
id item_name price
1 バナナ 200
2 リンゴ 300
エラー内容
Unknown column 'maker_id' in 'field list'
php
1<?php 2 mysql_connect('localhost', "root",'') or die(mysql_error()); 3 mysql_select_db('mydb'); 4 mysql_query('SET NAMES UTF8'); 5 6 $sql = sprintf('INSERT INTO my_items SET maker_id=%d , item_name="%s" ,price=%d', mysql_real_escape_string($_POST['maker_id']), mysql_real_escape_string($_POST['item_name']), mysql_real_escape_string($_POST['price'])); 7 mysql_query($sql) or die(mysql_error()); 8?> 9 10<p>商品を登録しました</p> 11
php
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="utf-8"> 5<title>商品登録</title> 6<body> 7 <p>登録する商品の情報を記入してください</p> 8 <form id="frmInput" name="frmInput" method="POST" action="input_do.php"> 9 <dl> 10 <dt> 11 <label for="maker_id">メーカーID</label> 12 </dt> 13 <dd> 14 <input name="maker_id" type="text" id="maker_id" size="10" maxlength="10"> 15 </dd> 16 17 <dt> 18 <label for="item_name">商品名</label> 19 </dt> 20 <dd> 21 <input name="item_name" type="text" id="item_name" size="35" maxlength="255"> 22 </dd> 23 24 <dt> 25 <label for="price">価格</label> 26 </dt> 27 <dd> 28 <input name="price" type="text" id="price" size="10" maxlength="10"> 29 円</dd> 30 31 <dt> 32 <label for="keyword">キーワード</label> 33 </dt> 34 <dd> 35 <input name="keyword" type="text" id="keyword" size="50" maxlength="255"> 36 </dd> 37 </dl> 38 <input type="submit" value="登録する"> 39 </form> 40</body> 41</html> 42
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/24 16:04