[PHP-users 25490] Re: php-4.3.11で文字化け

M.Shimode mitsu @ acquez.co.jp
2005年 4月 27日 (水) 01:03:11 JST


シモデです。

> 個々一番です。
個々一番さん、適切なご指摘・ご指導をありがとうございます。

> magic_quote_gcpは常にOffにするか、magic_quote_gcpの設定をみてマークを削
> 除するようにしたほうがいいです。
> そうしないと、中途半端なエスケープをしたデータを持ちまわすことになります。
> ちなみに、その\マークは
> stripslashes()で削除できますし。
> addslashes()で追加できます。

その通りでした。現在、magic_quote_gcpはOnにしたままで、
処理タイミングを考慮して、strslashes()でデータ操作してる状況です。

> SQLでエラーになる件ですが、この場合はSQLに送る値として、DBにあった形で
> エスケープ処理を施して、
> $sql_data = mysql_escape_string($data);
> $sql = 'select * from table where data=' . $sql_data . '';
> とでもしたほうがいいです。

今回はPGを使用していますのですが、この方法でしてみたいと思います。

> 基本的に、magic_quote_gcpはDBによっては不完全なエスケープしかしてくれな
> いので痛い目を見ます。
>
> #個人的には、Pear_DBのプレースホルダ機能を推奨するけど。

勉強不足でして、Pear_DBは存じてないのですが、
参考まで拝見して、可能であれば導入してみたいと思います。

-------------------**
M.Shimode
mitsu @ acquez.co.jp





PHP-users メーリングリストの案内