ホームページ >データベース >mysql チュートリアル >PHP が「致命的エラー: キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」をスローするのはなぜですか?

PHP が「致命的エラー: キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」をスローするのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-11 07:06:12361ブラウズ

Why is PHP Throwing a

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

XAMPP を使用する MySQL データベースでは、「致命的なエラー: キャッチされません」というエラーが発生する可能性があります。エラー: 未定義の関数 mysql_connect() を呼び出します。」このエラーは、mysql_connect() 関数が PHP によって認識されず、接続が失敗することを示します。

問題の理解

mysql_connect( を含む mysql_* 関数) ) は、PHP 5.5 で非推奨となり、PHP 7 で削除されました。この変更は、セキュリティとセキュリティに関する懸念から行われました。 パフォーマンス。まだ PHP 7 以降を使用している場合は、mysql_connect() を使用できなくなります。

解決策

このエラーを解決するには、次の手順を実行します。 2 つの代替案:

  • MySQLi: MySQL改良された (MySQLi) 拡張機能は、MySQL データベースに接続し、対話するための更新された関数セットを提供します。
  • PDO (PHP Data Objects): PDO は、対話を可能にするデータベース抽象化レイヤーです。 MySQL などの共通 A​​PI を使用して、さまざまなデータベースを使用します。

使用例MySQLi:

$mysqli = new mysqli($mysql_hostname, $mysql_username, $mysql_password);
if ($mysqli->connect_error) {
    echo "Connection failed: " . $mysqli->connect_error;
}

PDO の使用例:

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

結論

MySQLi を忘れずに使用してくださいPHP 7 以降で MySQL データベースを操作する場合は、PDO を使用します。これらの最新の代替手段を採用することで、「致命的エラー: キャッチされないエラー: 未定義関数 mysql_connect() の呼び出し」の問題を解決するだけでなく、データベース インタラクションのセキュリティとパフォーマンスも向上します。

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

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