• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql_real_escape_string?)

mysql_real_escape_stringは非推奨なの?

このQ&Aのポイント
  • mysql_real_escape_stringは非推奨です。
  • 代わりにMySQLiまたはPDO_MySQLを使用することが推奨されています。
  • デフォルトの文字セットを設定しておくことで、mysql_real_escape_stringを使用することも可能です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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ドライバを利用すべきです。

re999
質問者

お礼

回答ありがとうございました >mysql拡張モジュール自体が非推奨です。 >http://www.php.net/manual/ja/book.mysql.php にあるものが非推奨となっている対象です もしかして、と思っていたのですが、やっぱりそうなんですね。ちょっとショックでした… >http://www.php.net/manual/ja/mysqlinfo.api.choosing.php このページ初めて知りました。大変参考になりましたー

関連するQ&A