ホームページ >バックエンド開発 >PHPチュートリアル >PHP5.6からPHP7.4への互換性の問題でデータベース接続エラーを解決するにはどうすればよいですか?

PHP5.6からPHP7.4への互換性の問題でデータベース接続エラーを解決するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-09-06 14:10:481367ブラウズ

PHP5.6からPHP7.4への互換性の問題でデータベース接続エラーを解決するにはどうすればよいですか?

PHP5.6 から PHP7.4 への互換性の問題でのデータベース接続エラーを解決するにはどうすればよいですか?

PHP バージョンの更新に伴い、PHP5.6 から PHP7.4 への互換性の問題が発生します。よくある問題の 1 つは、データベース接続エラーです。この記事では、この問題を解決する方法と、対応するコード例を示します。

PHP5.6 以前のバージョンでは、通常、mysql 拡張機能を使用してデータベースに接続し、操作します。 PHP7.0 以降、mysql 拡張機能は非推奨になり、mysqli 拡張機能と PDO 拡張機能に置き換えられました。したがって、PHP5.6 から PHP7.4 にコードをアップグレードする場合は、データベース接続コードを変更する必要があります。

まず、コードで mysql 拡張機能が使用されている場合は、それを mysqli 拡張機能に置き換える必要があります。データベース接続を変更するコードは次のとおりです。

// PHP5.6及之前版本的数据库连接代码
$conn = mysql_connect($servername, $username, $password);
mysql_select_db($dbname, $conn);

// 修改为PHP7.4的数据库连接代码
$conn = mysqli_connect($servername, $username, $password, $dbname);

mysqli 拡張機能では、接続関数名は「mysqli_connect」となり、データベース名を 4 番目のパラメーターとして渡す必要があります。

さらに、PHP7.4 以降、データベースに接続する際のホスト名として "localhost" を使用することはサポートされなくなったことに注意してください。データベースに接続するときに「localhost」を使用すると、接続は失敗します。この問題の解決策は、以下に示すように、「localhost」を「127.0.0.1」に置き換えることです。

// 使用"127.0.0.1"代替"localhost"连接数据库
$servername = "127.0.0.1";

次に、SQL クエリを実行するコードを変更する必要があります。 PHP5.6 以前のバージョンでは、通常、SQL クエリを実行するために「mysql_query」関数を使用します。 PHP7.4ではクエリを実行するには「mysqli_query」関数を使用する必要があります。変更されたコードは次のようになります。

// PHP5.6及之前版本的SQL查询代码
$result = mysql_query($sql);

// 修改为PHP7.4的SQL查询代码
$result = mysqli_query($conn, $sql);

同様に、「mysql_query」関数を「mysqli_query」関数に置き換える必要があり、データベース接続が最初のパラメーターとして関数に渡されます。

mysqli 拡張機能に加えて、PDO 拡張機能もデータベースの接続と操作に適しています。コードで PDO 拡張機能を使用している場合は、データベース接続コードを次のように変更する必要があります。

// PHP5.6及之前版本的数据库连接代码
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

// 修改为PHP7.4的数据库连接代码
$conn = new PDO("mysqli:host=$servername;dbname=$dbname", $username, $password);

PDO 拡張機能では、データベース接続メソッドは、パラメーター「mysql」で PDO クラスをインスタンス化することによって実現されます。 「」を「mysqli」に置き換える必要があります。

要約すると、PHP5.6 から PHP7.4 への互換性の問題におけるデータベース接続エラーを解決するには、まず mysql 拡張子を mysqli 拡張子または PDO 拡張子に置き換える必要があります。データベースに接続するときは、「localhost」を「127.0.0.1」に置き換えることに注意してください。さらに、SQL クエリを実行するコードもそれに応じて変更する必要があります。

上記の変更により、コードは PHP5.6 から PHP7.4 に正常にアップグレードされ、データベース接続によって発生する互換性エラーが解決されます。この記事の内容があなたのお役に立てれば幸いです。

以上がPHP5.6からPHP7.4への互換性の問題でデータベース接続エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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