- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql_real_escape_string?)
mysql_real_escape_stringは非推奨なの?
このQ&Aのポイント
- mysql_real_escape_stringは非推奨です。
- 代わりにMySQLiまたはPDO_MySQLを使用することが推奨されています。
- デフォルトの文字セットを設定しておくことで、mysql_real_escape_stringを使用することも可能です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
mysql_real_escape_stringというよりも,mysql拡張モジュール自体が非推奨です。 http://www.php.net/manual/ja/book.mysql.php にあるものが非推奨となっている対象です。 わかりやすく致命的なのは,server-side Prepared Statementsがサポートされないことでしょう。 http://www.php.net/manual/ja/mysqlinfo.api.choosing.php これは,SQLインジェクションに対する対策として基本的なプレースホルダを利用する方法が利用できないことを意味します。 Maintenance onlyと書かれているので,mysql拡張モジュールはよっぽど致命的な問題がない限り,修正はなされないと思われます。 このため,書かれている通り,mysqli拡張モジュールまたはPDOのMySQLドライバを利用すべきです。
お礼
回答ありがとうございました >mysql拡張モジュール自体が非推奨です。 >http://www.php.net/manual/ja/book.mysql.php にあるものが非推奨となっている対象です もしかして、と思っていたのですが、やっぱりそうなんですね。ちょっとショックでした… >http://www.php.net/manual/ja/mysqlinfo.api.choosing.php このページ初めて知りました。大変参考になりましたー