我在连接到我的数据库时遇到了一个明显的常见错误,但是我尝试过的每个解决方案都没有以任何方式工作。我收到以下错误...
Failed to connect to the database: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
我用来连接MySQL数据库的代码是:
$username = "root";
$password = "<redacted>";
$host = "127.0.0.1";
$dbname = "siteusers";
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
try {
$db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options);
} catch(PDOException $ex) {
die("Failed to connect to the database: " . $ex->getMessage());
}
目前,这里讨论的Apache服务器和MySQL服务器由运行在Windows上的xampp管理。我可以使用phpMyAdmin完美地访问所有内容,但是任何其他方式都完全无法使用。
同样,我尝试过的一切都没有奏效。我试图摆弄帐户凭据,localhost / 127.0.0.1 /等,尝试不同的用户,以及更改权限组合。
解决方案:
我不完全确定我做了什么,但我在my.ini
中玩了一些设置,事情开始按预期工作。