无法使用错误消息访问数据库:
SQLSTATE[28000] [1045] Access denied for user 'root’@‘xxx.ne.jp'(using password: YES)
我有这个PHP代码。
$dsn = 'mysql:dbname=mydb;host=xxx.ne.jp';
$user = 'root';
$password ='0123';
try{
$dbh = new PDO($dsn, $db_user, $db_password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo $e->getMessage();
}
我可以使用相同的用户名和密码(root / 0123)登录phpmyadmin
为什么呢?
你有什么想法来解决它吗?
答案 0 :(得分:-2)
这是基本的PDO连接示例:
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
请包含缺少的主机名:
$dsn = 'mysql:host=localhost;dbname=mydb;host=xxx.ne.jp';
$user = 'root';
$password ='0123';
try{
$dbh = new PDO($dsn, $db_user, $db_password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo $e->getMessage();
}
如果在其他主机上运行网站,请更改localhost
。