ホームページ  >  記事  >  バックエンド開発  >  「キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」が表示されるのはなぜですか?

「キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」が表示されるのはなぜですか?

DDD
DDDオリジナル
2024-11-04 03:54:02909ブラウズ

Why Am I Getting

MySQL サーバーに接続できません: 「キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」について

接続を確立しようとしたときXAMPP を使用する MySQL サーバーでは、「致命的エラー: キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」というエラーが発生する場合があります。このエラーは通常、コードが mysql_connect() 関数にアクセスしようとしたときに発生します。この関数は PHP バージョン 7 以降では非推奨になりました。

エラーの理由

PHP 7 では、mysql_* 関数のサポートが中止されました。これには、MySQL データベースへの接続に使用される mysql_connect() が含まれます。この問題に対処するために、次の 2 つの代替オプションが利用可能です:

1. MySQLi (改良された MySQL)

MySQLi は、改善されたパフォーマンス、セキュリティ、およびさまざまな機能のサポートを提供する、強化されたより最新の API です。 MySQLi を使用するには、次の手順に従います。

<code class="php">// Include the MySQLi library
require_once 'mysqli.php';

// Create a MySQLi instance
$mysqli = new mysqli($mysql_hostname, $mysql_username, $mysql_password, $mysql_database);

// Check for connection errors
if ($mysqli->connect_error) {
    echo "Connection failed: " . $mysqli->connect_error;
    exit;
}</code>

2. PDO (PHP Data Objects)

PDO は、PHP が共通のインターフェイスを使用してさまざまなデータベースと対話できるようにするデータベース抽象化レイヤーです。 PDO for MySQL を使用するには、次の手順に従います。

<code class="php">// Include the PDO MySQL driver
require_once 'pdo_mysql.php';

// Create a PDO instance
$pdo = new PDO("mysql:host=$mysql_hostname;dbname=$mysql_database", $mysql_username, $mysql_password);

// Check for connection errors
if ($pdo->connect_error) {
    echo "Connection failed: " . $pdo->connect_error;
    exit;
}</code>

注:

XAMPP で使用している PHP バージョンが、選択した代替バージョンと互換性があることを確認してください ( MySQLi または PDO)。さらに、必要な MySQL 拡張機能が php.ini ファイルで有効になっていることを確認してください。

以上が「キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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