试图通过PDO连接到数据库,为什么我无法成功连接?

时间:2015-11-17 21:44:02

标签: php mysql oop pdo

我在Windows机器上使用XAMPP。我在这里回顾了有关该主题的类似问题,但没有人帮助解决我的问题。我已经通过程序PHP和OOP成功连接,现在我正在尝试通过PDO连接到同一个数据库,我得到了一个

  

SQLSTATE [HY000] [1045]拒绝访问用户' root' @' localhost' (使用密码:是)。

下面你会发现代码,我已经尝试将dbname放在主机之前,我已经尝试过没有charset,我尝试过在PHP手册中执行它,我尝试删除$ dbh中的h,我试过写localhost而不是IP地址,我仍然得到这个错误。顺便说一下,我没有密码,所以一个是空的。在进行程序和OOP时它再次起作用,为什么不是PDO方式呢?

<?php

try {
    // Connect to DB
    $dbh = new PDO('mysql:host=127.0.0.1;dbname=testdb;charset=utf8','root',' ');
} catch(PDOException $e) {
    // Display Errors
    echo $e->getMessage();
}

?>

1 个答案:

答案 0 :(得分:1)

您没有为参数添加密码,而MySQL期望给出一个密码,添加用于自行登录数据库的密码参数,您应该能够连接。

$db = new PDO("mysql:host = {hostname} ; dbname = {dbname}", "username", "password");

您的密码参数中有空格,如果您没有设置密码,也可以将其视为密码,只需拥有&#39; &安培; &#39;互相拥抱,它可以修复

相关问题