ホームページ >データベース >mysql チュートリアル >PHP を 5.5.0 にアップグレードした後、mysql_* 関数が機能しなくなるのはなぜですか?

PHP を 5.5.0 にアップグレードした後、mysql_* 関数が機能しなくなるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-08 15:26:01865ブラウズ

Why Are mysql_* Functions Not Working After PHP Upgrade to 5.5.0?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。