mysql:12527
From: 清水潔 <清水潔 <shimizu.kiyoshi@xxxxxxxxxx>>
Date: Thu, 01 Dec 2005 23:56:58 +0900
Subject: [mysql 12527] Re: INSERTで1064エラー
平野さん。 試してみたところ、こちらでも'でのエスケープならエラーが 発生しない事はわかりました。 なお型はtextです。 ただ、入力文字列をPHPのaddslashes関数でエスケープしているので 'だけ''に変えるというのは、後でなんだか判らないロジックが 入ってるという事になりそうなので、どうしようか迷ってます。 問題をもう少し絞りこみました。 (1)文字の組み合わせ 問題の発生する文字列の組み合わせを更に調べたところ「ら」の直後 に「'」がつながると、この2文字だけでも発生するというのが、わか りました。この2文字の間に半角スペースが入れればOKでした。 (2)問題のありか PHPからmysql関数を呼び出しての処理中に発生しているので、PHP側に あるのか、mysql側にあるのか切り分け出来ないか考えてみました。 コマンドプロンプトからmysqlを呼び出して、INSERT文を実行した ところ「ら'」が登録できました。PHPからmysqlに渡すときに発生して いるのかと思いました。しかし、PHPの場合はEUC-JPのINSERT文 なのに対して、コマンドプロンプトの場合はSJISなので、これでは 切り分けにはならないのですよね、きっと。 バリュー 平野 wrote: > 平野と申します。 > > >>以下のSQL文の実行で1064のエラーになってしまいます。 >> >>INSERT INTO xps_whatsnew >>VALUES(0,'manual','(desc_show)','','883840200','\'95から\'97の大会一覧 '); >> >>1064 : 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 '97の大会一覧 ')' at line 1 > > >>なにか変えればよくなるのか全くわかりません。 > > > すみません、MySQLの事は全くの素人で、設定云々はわか > らないのですし、試した環境は清水さんと全く違うので > すが、視点を変えると言う意味で・・・。 > > ¥マーク(バックスラッシュ)でエスケープしている場 > 所を、シングルクォーテーションでエスケープする手は > 如何でしょうか。 > > 型がわからなかったので、verchar で試してみました。 > > > SELECT version() > version() > --------- > 5.0.16-nt > > 結果:1件 (0ms) > > drop table qtest > 実行しました。 (16ms) > > create table qtest (fielda varchar(30)) > 実行しました。 (0ms) > > INSERT INTO qtest VALUES('''95から''97の大会一覧') > 結果: 1 件更新 (0ms) > > INSERT INTO qtest VALUES('''97の大会一覧') > 結果: 1 件更新 (0ms) > > INSERT INTO qtest VALUES('''95から') > 結果: 1 件更新 (0ms) > > select * from qtest > fielda > -------------------- > '95から'97の大会一覧 > '97の大会一覧 > '95から > > 結果:3件 (0ms) > > 参考にならなかったらごめんなさい。 > > 以上です。よろしくお願い致します。 > 0--------1---------2---------3---------4---------5 > 株式会社バリューソフトウエア > > 平野 源 > hirano@xxxxxxxxxx > > ValueSQL -- For all SQL developers -- > http://gwsrv.valuenet.co.jp/ValueSQL/pukiwiki.php > 0--------1---------2---------3---------4---------5 > > >
12524 2005-12-01 00:36 [清水潔 <shimizu.kiyo] INSERTで1064エラー 12526 2005-12-01 17:29 ┗[バリュー 平野 <hira] -> 12527 2005-12-01 23:56 ┗[清水潔 <shimizu.kiyo] 12533 2005-12-02 12:12 ┗[バリュー 平野 <hira] 12534 2005-12-03 09:18 ┗[清水潔 <shimizu.kiyo] 12535 2005-12-03 11:21 ┗[清水潔 <shimizu.kiyo]