尝试与 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中文网其他相关文章!