我已经阅读了很多关于这个错误的其他问题,但它并没有解决我的问题,这就是我提出这个问题的原因,尽管许多人一直在想我这个问题。
这是我的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]拒绝用户访问 &#39;根&#39; @&#39;本地主机&#39; (使用密码:否)
对我而言,似乎这条错误消息告诉我它不是$pass = 'NO'
或者$ pass是错的?我尝试更改$pass = 'NO';
并收到以下错误:
错误!:SQLSTATE [HY000] [1045]拒绝用户访问 &#39;根&#39; @&#39;本地主机&#39; (使用密码:是)
然后 - 在这里玩傻我改变$pass = 'YES'
;
给我这个错误:
错误!:SQLSTATE [HY000] [1045]拒绝用户访问 &#39;根&#39; @&#39;本地主机&#39; (使用密码:是)
答案 0 :(得分:1)
如果您正在使用wamp
,这可能是一种可能的解决方案。
- &GT;将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();
}
另外,只需将所有连接代码放在不同的文件中,例如&#34; dbconnector.php&#34;。将其包含在您需要使用数据库的每个页面中。现在,您可以通过$dbh
变量访问连接。