- ベストアンサー
MySQLで、INSERT文でエラー
- MySQLのINSERT文でエラーが発生しました。
- スクリプトを実行した際に、返り値が空でした。
- 問題の原因を特定し、解決する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>ちなみに、phpMyAdminのデータがなかったという状態です。 であれば >$sql = "INSERT INTO ideamemo_table (color, title, contents, create) VALUES ('$color', '$title', '$contents', '$create');"; で与えている各変数$color,$title,$contents,$createがきちんと入っていないのかも この直後に以下をして確認してみてください print $sql; また、mysql_query($sql, $con);がエラーを吐いているかもしれないので mysql_query($sql, $con) or die(mysql_error()); でエラーを拾うのも手です。 >mysqli()関数などを用いた方がいいってことですよね? mysql_関数から一番移植性が高いのはmysqli_関数の手続き型です。 ただしあくまでもコンパチな機能なので可能であればPDOなど 現時点で標準的な仕様に切り替えた方がよいとおもいます
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
>返り値が空でした(行数0) ( クエリの実行時間 0.0010 秒 ) と表示されます。 >どこが間違ってるのでしょうか。 INSERT文は挿入するだけなので戻り値は空だとおもいますが? 挿入したデータがみたいならSELECT文でみてください (それともINSERTしたあとにphpMyAdminで確認したらデータがなかったという意味でしょうか?) ちなみに ・SET NAMES utf8を生で発行することも ・mysql_query()という古い仕組みをつかうことも ・VALUES ('$color', '$title', '$contents', '$create');のようにエスケープせずに SQLを実行することも 全体的にダメダメな状態です。 なにを参考にされたかわかりませんが、すこし新しめの情報を吸収した方が よいように思います。
お礼
詳しいご回答どうも有難うございました。
補足
mysqli()関数などを用いた方がいいってことですよね? ちなみに、phpMyAdminのデータがなかったという状態です。
お礼
詳しいご回答、どうも有難うございました。
補足
INSER INTO (color.title,contents,create,update) VALUES('$color', '$title', 'contens'. '$create', '$update') の、テーブルのカラム名に、createや、update という、SQLの予約語?というものが エラーだったようです。 おかげ様で、 INSER INTO (color.title,contents,create,update) VALUES('$color', '$title', 'contens'. '$create_date', '$update_date') にしたら、phpMyAdminにデータが入ってきました!^^ どうも御親切にありがとうございました。