• ベストアンサー

ファイルを分けたデータベースのINSERTができない。

こんばんわ毎度毎度、質問続きで恐縮です。現在、ファイルをわけて、DBに商品登録をする、というスクリプトを作っています。トップ画面の商品入力フォームから商品登録の確認画面まではいけるのですが、 その、確認画面で登録ができずに悩んでいます。 下のスクリプトは、入力フォームで商品名と値段が入力されたとき 追加ボタンを押し登録をするスクリプトにしようと思い作成しました。 ただ、登録ボタンを押すと、「Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1」という構文誤りのエラーが出てしまうのです。 また、入力フォームからの商品や値段の受け渡しはPOSTでしようと思いました。 ご回答願えますでしょうか? //商品登録部分 $submit = $_POST["submit"]; $_item = $_POST["item"]; $price = $_POST["price"]; if($submit == "追加"){ $item = $_POST["item"]; $price = $_POST["price"]; if($contact=mysql_connect("host","admin","root")){ echo "<center><strong>商品登録表示</strong></center><br>"; mysql_select_db("test", $contact); $query = "INSERT INTO shoppingtable (item, price) VALUES ('".$item."',".$price.")"; $query2 = 'SET NAMES sjis'; mysql_query( $query2 ); $result = mysql_query($query) or die('Query failed: ' . mysql_error()); } if($submit){ header("Location:shoppingformCompletion.php"); } } //ここまで

質問者が選んだベストアンサー

  • ベストアンサー
  • salf
  • ベストアンサー率42% (27/64)
回答No.1

検証などはしていないんで簡単に答えてしまって申し訳ないですが、 とりあえず $query の内容は表示して確認されましたか? ぱっと見た感じでは、" や ' の個数があってない気がするんですが・・・。 とりあえず、mysql_query を起動しないようにして、$query の中身を確認してみてください。 それでその内容を php ではなく普通にコマンドでDBに登録できるかを確認してはいかがですか?

msnxl
質問者

お礼

ありがとうございます。解決の糸口になりました。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

syntaxエラーなので$queryを表示させるのが良いでしょう $result = mysql_query($query) or die('Query failed: ' . mysql_error() . "<br>\n" . $query);

msnxl
質問者

お礼

ご回答ありがとうございました。表示することはできるようになりました。

関連するQ&A