首页 >数据库 >mysql教程 >如何修复 PHP MySQL 连接中的'连接失败:SQLSTATE[HY000] [2002] 连接被拒绝”?

如何修复 PHP MySQL 连接中的'连接失败:SQLSTATE[HY000] [2002] 连接被拒绝”?

DDD
DDD原创
2024-12-11 09:41:11495浏览

How to Fix

使用 PHP 解决“连接失败: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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn