mysql:9560
From: "KAWAI,Takanori" <"KAWAI,Takanori" <GCD00051@xxxxxxxxxx>>
Date: Mon, 7 Jun 2004 23:04:11 +0900
Subject: [mysql 09560] Re: 画像データの登録に関する1064エラー
川合孝典@PHPは...な人です。 ----- Original Message ----- From: "Shiro Ozawa" <shiro@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Monday, June 07, 2004 3:50 PM Subject: [mysql 09541] 画像データの登録に関する1064エラー > 小澤と申します. (中略) > となると,addslashesを疑いたくなるのですが,小さいファイルでは問題なく登 > 録できているのでそれもできません. > > あれこれ調べたのですが,万策尽きた感があります. > 原因として何が考えられますでしょうか? なにはともあれ実際にどのようなエラーが発生しているか確認してみては? それも字面だけ(ブラウザに表示されている文字)ではなく実際にどのような エラーメッセージを出しているのかきちんと調べるべきでしょう。 #1064ってSQL syntaxのエラーでしょうから、その部分がメッセージに #入ってませんかねぇ。 私としてはやっぱりaddslashesでは役不足と考えますが。 PHPの関数の動きはわかりませんが、ドキュメントを見る限り <quote src="http://jp2.php.net/addslashes"> データベースへの問い合わせなどに際してクォートされるべき 文字の前に バックスラッシュを挿入した文字列を返します。クォート されるべき文字とは、 シングルクォート('), ダブルクォート("),バックスラッシュ (\) ,NUL (NULL バイ ト)です。 </quote> てなこといってますから、バイナリデータをそのまま登録するのには あまり適していないように思われます。 mysql_escape_stringかmysql_real_escape_stringを使うべきではと 考えますがいかがでしょう? 参考: http://jp2.php.net/manual/ja/function.mysql-escape-string.php http://jp2.php.net/manual/ja/function.mysql-real-escape-string.php ちなみにDBD::mysql(2.9003)ではmysql_real_escape_stringを 使ってますね。 =================================================== 川合 孝典 (Hippo2000) DBI日本語メーリングリスト管理人、Kansai.pm所属 kwitknr@xxxxxxxxxx GCD00051@xxxxxxxxxx http://member.nifty.ne.jp/hippo2000、http://www.hippo2000.info/ perldocの日本語情報ならperldocjp:翻訳してみませんか? http://perldocjp.sourceforge.jp/ ===================================================
9541 2004-06-07 15:50 [Shiro Ozawa <shiro@x] 画像データの登録に関する1064エラー -> 9560 2004-06-07 23:04 ┗["KAWAI,Takanori" <GC] 9567 2004-06-08 09:30 ┗[Shiro Ozawa <shiro@x] 9582 2004-06-09 16:43 ┗[Shiro Ozawa <shiro@x]