![](/img/trans.png)
[英]SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES) error occurs
[英]ERROR!:SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
我已经阅读了许多关于这个错误的其他问题,但它并没有解决我的问题,这就是我提出这个问题的原因,尽管很多人在我之前已经问过这个问题。
这是我的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 的新手 - 这与它有什么关系吗?
当我在我的本地主机上加载它时,我收到错误消息:
错误!:SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 访问被拒绝(使用密码:NO)
对我来说,这个错误消息似乎告诉我$pass = 'NO'
它没有或者 $pass 是错误的? 我试图改变$pass = 'NO';
并得到以下错误:
错误!:SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 访问被拒绝(使用密码:是)
然后 - 在这里玩傻我改变$pass = 'YES'
; 给我这个错误:
错误!:SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 访问被拒绝(使用密码:是)
如果您使用wamp
,这可能是一个可能的解决方案。
-> 将localhost
更改为127.0.0.1
。 所以它变成
<?php
$user = 'root';
$pass = '';
try{
$dbh = new PDO('mysql:host=127.0.0.1;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();
}
另外,只需将所有连接代码放在不同的文件中,比如“dbconnector.php”。 将它包含在您需要使用数据库的每个页面中。 现在您可以通过$dbh
变量访问连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.