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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-05 15:56:02254ブラウズ

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

PHP アップグレード後の mysql_* 関数の使用の困難

PHP 5.5.0 にアップグレードするユーザーが mysql_* 関数を利用しようとすると問題が発生する可能性があります。これらの関数はこのバージョンで非推奨になっているためです。

問題の理解

発生する一般的なエラーの 1 つは、「非推奨: mysql_real_escape_string()」です。これは、mysql_real_escape_string() 関数がサポートされなくなったことを示します。これを mysqli_real_escape_string() に置き換えようとすると、別のエラー「警告: mysqli_real_escape_string() は 2 つのパラメータを期待しており、1 つは指定されています」という結果になります。

問題の解決

この問題を解決するには、mysql 拡張機能の代わりに mysqli 拡張機能の使用に移行することをお勧めします。これには、mysqli 関数を利用するために PHP コードを更新する必要があります。

改訂された PHP コード

例として提供されたコードの改訂版を次に示します。

<code class="php"><?php

require_once("includes/session.php");
require_once("connections/connection.php");
require_once("includes/functions.php");

// ... (remainder of the PHP code)

$connection = mysqli_connect("host", "my_user", "my_password", "my_db");

// ... (remainder of the PHP code)

$username = mysqli_real_escape_string($connection, $username);
$password = mysqli_real_escape_string($connection, $password);

// ... (remainder of the PHP code)

// ... (mysqli alternative not shown in detail)

if (isset($connection)) {
    mysqli_close($connection);
}

?></code>

結論

PHP 5.5.0 にアップグレードするには、既存の PHP コードの互換性を調整する必要があります。 mysqli 拡張機能に移行し、その機能を利用することは、非推奨の mysql_* 関数に関連する問題を解決する効果的な解決策です。

以上がPHP 5.5.0 にアップグレードした後、mysql_* 関数が機能しなくなるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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