【问题标题】:Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1044] When I uploaded it online [duplicate]致命错误:未捕获的异常“PDOException”和消息“SQLSTATE [HY000] [1044] 当我在线上传时[重复]
【发布时间】:2015-11-18 15:37:45
【问题描述】:

当我使用 XAMPP localhost 时,我的系统正在运行,但是当我将其上传到 cpanel 时,其他页面无法正常工作。其他页面像登录一样工作,但在查看和编辑页面中出现错误。

我收到了这个错误:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1044] Access denied for 

其他页面:

Connection failed: SQLSTATE[HY000] [1044] Access denied for user 

我的连接:

<?php
$db_host        = 'localhost';
$db_user        = 'xxx';
$db_pass        = 'xxx';
$db_database    = 'xxx'; 

$db = new PDO('mysql:host='.$db_host.';dbname='.$db_database, $db_user, $db_pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

?>

如果我改变了连接方式

<?php
mysql_connect("localhost", "xx", "xx") or die(mysql_error());
mysql_select_db("xx") or die(mysql_error());
?>

我收到了这个错误:

Fatal error: Call to a member function prepare() on a non-object in 

【问题讨论】:

  • 你正在混合和匹配 pdo 与 mysql_* 函数,因为我看到它
  • 谢谢,我将尝试仅使用 PDO 建立 1 个连接。

标签: php mysql pdo connection


【解决方案1】:

访问被拒绝:您的凭据错误:与您的本地主机不同!

你确定他们是正确的:

  • 使用 127.0.0.1 代替 localhost,或者尝试其他特定的服务器名称或 ip
  • 确保您的密码不包含 $ 字符,也不包含在单引号之间

【讨论】:

  • 如果我使用 localhost(xampp) 它可以工作。但是当我上传它时,我在其他页面上遇到了这个错误。顺便说一句,我试过你的建议,但还是不行。
猜你喜欢
  • 1970-01-01
  • 2012-07-08
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 2023-01-12
相关资源
最近更新 更多