PHP 致命的エラーの解決策: 未定義関数 mysql_connect() の呼び出し
PHP を使用して Web サイトを開発する場合、さまざまなエラーや例外が頻繁に発生します。その中でも、「PHP Fatal error: Call to unknown function mysql_connect()」は比較的よくあるエラーです。このエラーは通常、PHP を使用して MySQL データベースに接続しているが、PHP 構成ファイルで MySQL のサポートを有効にし忘れた場合に発生します。この記事では、このエラーを解決する方法について説明し、回避策を示すコード例をいくつか示します。
まず、このエラーの原因を理解する必要があります。 PHP 5.5.0 以降、MySQL 拡張機能は非推奨となり、PHP 7.0.0 で削除されました。したがって、PHP バージョン 7.0.0 以降を使用していて、mysql_connect() 関数を使用して MySQL データベースに接続しようとすると、上記のエラー メッセージが表示されます。代わりに、mysqli または PDO 拡張機能を使用して MySQL データベースに接続する必要があります。
この問題を解決する最初のステップは、PHP バージョン 7.0.0 以降を使用していることを確認することです。 PHP バージョンを確認するには、コマンドラインで php -v
を実行するか、コード内で echo PHP_VERSION;
を使用します。
PHP のバージョンが確認できたら、次の 2 つの方法でこのエラーを解決できます。
方法 1: mysqli 拡張機能を使用して MySQL データベースに接続する
サンプル コードは次のとおりです:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $database = "dbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $database); // 检测连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>
上記のコードでは、mysqli 拡張機能を使用してMySQL データベースに接続します。まず、サーバー名、ユーザー名、パスワード、データベース名などの関連する接続パラメーターを宣言します。次に、new mysqli()
を使用して mysqli オブジェクトを作成します。パラメータはサーバー名、ユーザー名、パスワード、データベース名です。次に、$conn->connect_error
を使用して接続が成功したかどうかを検出し、接続に失敗した場合はエラー メッセージが出力され、接続に成功した場合は「Connection success」が出力されます。
方法 2: PDO 拡張機能を使用して MySQL データベースに接続します
サンプル コードは次のとおりです:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $database = "dbname"; try { $conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "连接成功"; } catch(PDOException $e) { echo "连接失败: " . $e->getMessage(); } ?>
上記のコードでは、PDO 拡張機能を使用して接続しますMySQL データベースに。まず、サーバー名、ユーザー名、パスワード、データベース名などの関連する接続パラメーターを宣言します。次に、new PDO()
を使用して PDO オブジェクトを作成します。最初のパラメータはサーバー名とデータベース名を含む接続文字列です。2 番目のパラメータはユーザー名、3 番目のパラメータはパスワード。次に、$conn->setAttribute()
を使用して PDO オブジェクトのエラー モードを設定し、例外をスローするように設定します。最後に、try-catch ブロックを使用して接続で発生する可能性のある例外をキャプチャし、接続に失敗した場合はエラー メッセージが出力され、接続に成功した場合は「Connection success」が出力されます。
概要:
この記事では、PHP の致命的なエラー: 未定義関数 mysql_connect() の呼び出しエラーを解決する方法について説明しました。このエラーの原因は、MySQL 拡張機能が PHP7.0.0 バージョンで削除されたことであることを指摘し、mysqli 拡張機能と PDO 拡張機能を使用して MySQL データベースに接続するという 2 つの解決策を示しました。上記のコード例を通じて、読者がこのエラーを解決し、MySQL データベースに正常に接続できることを願っています。
以上がPHP の致命的なエラー: 未定義の関数 mysql_connect() の呼び出しの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。