ホームページ >データベース >mysql チュートリアル >PHP MySQL 接続で「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」を修正する方法は?
phpMyAdmin でホストされている MySQL データベースへの PHP 接続を確立しようとすると、ユーザーは、「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました。」というイライラするエラーに遭遇する可能性があります。このエラーは、PHP スクリプトがデータベース サーバーに接続できないことを示します。
たとえば、次の PHP コードを考えてみましょう:
$servername = "127.0.0.1"; $username = "root"; $password = "root"; try { $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); }
このコードは、PDO を使用して MySQL データベースに接続しようとします。 (PHP データ オブジェクト) オブジェクト。ただし、Postman 経由の接続を使用すると、「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」というエラーが発生します。
最初は、「接続に失敗しました: SQLSTATE[HY000] [2002]」というエラーが発生する可能性があります。 ] そのようなファイル、又はディレクトリはありません。"これは、サーバー名が「localhost」に設定されている場合に発生します。サーバー名を IP アドレスに変更すると、この問題は解決しますが、「接続が拒否されました」エラーが発生します。
この接続拒否の解決策は、使用されているポート番号にあります。 MySQL のデフォルトのポートは 3306 です。ただし、MAMP 経由の接続の場合、ポートは 8889 に設定する必要があります。
次のようにコードを調整すると、接続の問題が解決されます。
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
この変更により、PHP スクリプトはポート 8889 を使用して MySQL データベースに正常に接続できるようになります。
以上がPHP MySQL 接続で「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。