【发布时间】:2015-07-31 11:04:01
【问题描述】:
我已经阅读了很多关于这个错误的其他问题,但它并没有解决我的问题,这就是我提出这个问题的原因,尽管很明显很多人在我之前一直在问这个问题。
这是我的connect.php
<?php
$user = 'root';
$pass = '';
try{
$dbh = new PDO('mysql:host=localhost;dbname=Login', $user, $pass);
foreach($dbh->query('SELECT * from FOO') as $row){
print_r($row);
}
$dbh = null;
} catch (PDOException $e){
print "ERROR!:" . $e->getMessage() . "<br/>";
die();
}
但是我遇到了麻烦,我确定 $user 和 $pass 是正确的,但我仍然不断收到此消息,我是 PDO 的新手 - 这与它有什么关系吗?
当我在本地主机上加载它时,我收到错误消息:
ERROR!:SQLSTATE[HY000] [1045] 拒绝用户访问 'root'@'localhost'(使用密码:NO)
对我来说,这条错误消息似乎告诉我$pass = 'NO' 不是,或者 $pass 是错误的?我尝试更改$pass = 'NO'; 并收到以下错误:
ERROR!:SQLSTATE[HY000] [1045] 拒绝用户访问 'root'@'localhost'(使用密码:YES)
然后 - 在这里装傻我改变$pass = 'YES';
给我这个错误:
ERROR!:SQLSTATE[HY000] [1045] 拒绝用户访问 'root'@'localhost'(使用密码:YES)
【问题讨论】:
-
您必须将正确的root密码添加到
$pass -
如果您提供了正确的用户名和密码,请检查您使用的数据库的用户权限。
-
using password短语不会回显您正在使用的 what 密码,无论您是否使用密码。您的 root 帐户密码错误。