« アマゾンアソシエイト。 | トップページ | D253i発売。 »

phpの小さな親切大きなお世話。

意図しない「\」の原因はmagic_quotes

前にいろいろ自作スクリプトを作成していて挫折した原因のひとつ
「なぞの\マーク登場」
なのですが、いわゆるphpの親切機能magic_quotesが要らぬ世話をしてくれていたようです。

これを発見したのは、会社でDBに登録するときのエラーチェックを作成していたときのこと。
ASP+Oracleでデータ登録するときには’(シングルクォート)を見つけたらエスケープするような関数を作って
それを必ず通るようにプログラムを設計してました。
php+MYSQLでも同様のバグが出るだろうと、テストしてみたところ
なぜかすんなりとシングルクォートが通り「?」となったわけです。
いろいろ調べた結果自動でエスケープしてくれるという親切機能がついていることを発見したのですが
そのついでにいろいろ周辺を調べていたら日本語の文字データのいくつかに
「0x5c」という「\」と同じ文字コードを持つものがあるそうで、
それにいちいち反応してくるのだとか・・・。
いい迷惑ですっ(>_<)

phpで開発をするときはphp.iniファイルからこの「magic_quotes」をオフにして
データ登録時にaddslashesを使うのがよさそうです。

|

« アマゾンアソシエイト。 | トップページ | D253i発売。 »

「パソコン・インターネット」カテゴリの記事

コメント

PHPの該当機能は、大体踏むツボの一つであります(笑)
わたしも使い始めの頃に踏んだ記憶が

投稿: にわけん | 2004/09/29 16:39

コメントありがとうございます。

やはりコレはphp初心者たたきのひとつなんですね(笑)
コレを乗り越えてこそphpプログラマーということでしょうか?
ほかにもまだまだ罠がありそうな予感がします。

投稿: 茅乃 | 2004/09/30 00:04

同じところでひっかかりますよねー^^;
みょーに共感したりして

投稿: tomono | 2004/10/04 00:06

コメントありがとうございます。

私がちょっとおばかさんなのかなぁと思いつつこの記事書いたのですが
やっぱり皆ひっかかるところとわかって一安心です。

投稿: 茅乃 | 2004/10/04 22:16

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2943/1540536

この記事へのトラックバック一覧です: phpの小さな親切大きなお世話。:

« アマゾンアソシエイト。 | トップページ | D253i発売。 »