我正在使用pdo连接mysql数据库。在本地主机上运行时,该代码工作得非常完美。但是,当我将代码传输到web服务器时(当然,我已经相应地更改了用户名和密码),代码不起作用。它给出了以下错误
SQLSTATE[HY000] [1045] Access denied for user 'xxx_xxxxx'@'localhost' (using password: YES)
当我使用旧的不推荐使用的api-mysql\u connect()和相同的用户名密码组合测试连接时,它工作得非常好,所以我知道用户名密码组合是正确的。
这是我的相关代码
try {
$dsn = "mysql:dbname=company_dbname; host=localhost";
$user = "company_dbuser";
$password = "MyPassword";
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC);
$conn = new PDO($dsn, $user, $password, $options);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
1条答案
按热度按时间kg7wmglp1#
最终我能解决的问题是我编辑的代码
请检查$user和$password赋值-我不是用双引号而是用单引号赋值。