PHP アップグレード: mysql_* 関数を使用できない
PHP 5.2.0 などの以前のバージョンから PHP 5.5.0 にアップグレードした後、開発者は、非推奨の mysql_* 関数に関する問題に遭遇する可能性があります。発生する一般的なエラーの 1 つは次のとおりです。
Deprecated: mysql_real_escape_string()
この問題を解決するには、非推奨の mysql_ 関数を対応する mysqli_ 関数に置き換えることをお勧めします。たとえば、mysql_real_escape_string() の代わりに mysqli_real_escape_string() を使用する必要があります。
ただし、mysqli_real_escape_string() には接続変数とエスケープ文字列の 2 つのパラメータが必要であることに注意することが重要です。引数を 1 つだけ指定して mysqli_real_escape_string() を使用しようとすると、次のエラーが発生する可能性があります:
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in
このエラーを修正するには、接続変数を最初の引数として渡す必要があります。この変数は、mysqli_connect() を使用してデータベースへの接続を確立することによって取得されます:
<code class="php">$connection = mysqli_connect("host", "username", "password", "database");</code>
提供されたコード例は、mysqli_real_escape_string() を正しく使用するように修正できます:
<code class="php">$username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password);</code>
最新のベストプラクティスを常に把握し、このようなエラーを回避するには、PHP の知識を定期的に更新することが不可欠です。あるいは、データベース オブジェクトを使用してデータベースに接続し、エスケープを自動的に処理することを検討してください。
以上がPHP を 5.5.0 にアップグレードした後、mysql_* 関数が機能しなくなるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。