【问题标题】:error connecting to DB with PHP使用 PHP 连接数据库时出错
【发布时间】:2012-05-15 12:56:52
【问题描述】:

我尽我最大的努力从不使用 php,因此我并不精通它我在这里遇到了一个我完全不明白的问题我尝试了很多事情,包括不包括表参考/config 从 localhost 更改为 mysql 主机等。

这可能会非常明显,但我只是没有发现它!我不用说所有的数据库凭据都是完全正确的(我可以从 scala 和 python 很好地连接它) anway 这是错误(真实的用户名/密码不存在 OFC)

致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000] [1044] 用户 'username'@'10.1.1.43' 拒绝访问 /home/a5555413/public_html/ 中的数据库 'a5555413_AudioPl.users'' drive/auth_handler.php:153 堆栈跟踪:#0 /home/a5555413/public_html/drive/auth_handler.php(153): PDO->__construct('mysql:host=mysq...', 'username...' , 'passwd') #1 /home/a5555413/public_html/drive/auth_handler.php(74): AuthHandler->GetDbConnection() #2 /home/a5555413/public_html/drive/index.php(47): AuthHandler-> AuthHandler('webui') #3 {main} 在第 153 行的 /home/a5555413/public_html/drive/auth_handler.php 中抛出

const 的连接代码在单独的配置文件中定义

function GetDbConnection() {
    $dbh = new PDO(Config::DB_PDO_CONNECT,
        Config::DB_PDO_USER,
        Config::DB_PDO_PASSWORD);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $dbConnection = $dbh;
    return $dbConnection;
  }

【问题讨论】:

  • 您可能想要链接您用于连接的代码(当然,没有用户/密码)。
  • 在我看来,您用于此操作的用户没有所需的权限?
  • @hakre 数据库不是本地主机,它是外部的,但也尝试过使用本地主机版本我确实在询问找不到任何相关内容之前进行了适当的搜索。
  • @user1231175:这有什么不同?

标签: php mysql


【解决方案1】:

访问被拒绝意味着您使用了错误的用户名/密码,和/或您访问的帐户未在 MySQL 中正确创建。

show grants for username@10.1.1.43 显示什么?

如果您将帐户创建为 username@machinename 并且 MySQL 无法进行反向 DNS 查找以将您的 IP 更改回机器名,您也会收到此错误。

【讨论】:

    【解决方案2】:

    检查以下内容:

    1) 您输入了正确的数据库主机名(这并不总是 localhost)、用户名和密码? 2) 用户拥有数据库权限。

    如果您不知道如何检查,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      相关资源
      最近更新 更多