• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP/MySQL SQLエラーについて。)

PHP/MySQL SQLエラーについて

このQ&Aのポイント
  • PHP/MySQLのSQLエラーについての質問です
  • 初心者が参考書を見ながらWebアプリケーションを作成中ですが、成功しない例があります
  • どこが間違っているのか、なぜ成功しないのか教えてください

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

  • ベストアンサー
回答No.3

SQL実行エラーとだけ表示するのではなく, echo mysql_error(); と,MySQLのエラー情報を表示してみてはどうでしょうか。 なぜエラーになるのかの理由は,これを起点に調べることになります。 http://jp2.php.net/manual/ja/function.mysql-error.php なお,現在mysql_から始まる関数の利用は推奨されていません。 MysqliやPDO MySQLを使うことが推奨されています。 http://jp2.php.net/manual/ja/mysqlinfo.api.choosing.php

noname#222532
質問者

お礼

回答ありがとうございます。 他の方の返答にも書きましたがエラー吐かせたところ Column count doesn't match value count at row 1 このようなものが返ってきました。 皆さんの回答を見ていると…mysqlは古いようですね。 その意見も大変参考になりました。 ありがとうございました。

その他の回答 (3)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.4

こんにちは。 if(!$res=mysql_query($sql)){ echo mysql_query(); echo $sql; exit; } と回答しましたがすみません、コピペ失敗してました。。。 if(!$res=mysql_query($sql)){ echo mysql_error(); echo $sql; exit; } です。

noname#222532
質問者

補足

ありがとうございます。 そのようにしてエラー吐かせたところ Column count doesn't match value count at row 1 と出ました。

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.2

こんにちは。 >上記の2つの文を追加入力してみたのですが、私の方では相変わらずエラーが出てしまいます。 >参考書の方でもその文がなくても成功しているのです…。 原因を究明するには実行したSQLを質問に含めると回答しやすいです。 if(!$res=mysql_query($sql)){ echo mysql_query(); echo $sql; exit; } にして表示されるエラーとSQLを補足下さい。 ちなみにその参考書の初版発行はいつになっていますか? mysql_connect等使っているところ、 >その文がなくても成功しているのです…。 を見ると古そうな気がします。

回答No.1

echo $sql = "insert into input_table(name,age) values('$nm',$age)"; で実際にSQLを表示してみると、 insert into input_table(name,age) values('',) ということで値が入っていない状態になっています。 フォームから送信されたデータを取得するように、 $nm = isset($_POST['nm']) ? $_POST['nm'] : ""; $age = isset($_POST['age']) ? $_POST['age'] : ""; $sql = "insert into input_table(name,age) values('$nm',$age)"; のように修正したところ私の環境では、 「登録完了」まで動作いたしました! ご参考になれば幸いです。

noname#222532
質問者

お礼

早い返事ありがとうございます。 上記の2つの文を追加入力してみたのですが、私の方では相変わらずエラーが出てしまいます。 参考書の方でもその文がなくても成功しているのです…。 お答えいただいたのに申し訳ありません

関連するQ&A