我在连接到本地数据库时遇到问题。 由于某些原因,当我尝试连接时,它显示以下错误:
连接失败:SQLSTATE [HY000] [1045]用户'root'@'localhost'的访问被拒绝(使用密码:NO)
我设法与用户连接到我的phpmyadmin,并使用命令行,但是当我尝试使用我的php脚本时,我无法。但是我以前确实做到了。
我使用一个简单的PDO连接代码:
<?php
define('DB_USER', "root");
define('DB_PASSWORD', "");
$DB_SERVER = "localhost";
$DB_DATABASE = "app-db";
try {
$conn = new PDO("mysql:host=$DB_SERVER;dbname=$DB_DATABASE", DB_USER, DB_PASSWORD);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
我也尝试过使用“新的mysqli(主机,用户,密码)”和“ mysqli_connect(主机,用户,密码,数据库)”以及相同的响应,拒绝用户访问。
任何帮助都会很棒。
已解决:
显然我有2个mysql进程正在运行,而我使用的进程不在默认端口上。
答案 0 :(得分:0)
您确定数据库引擎已打开吗?该用户没有密码?也许是root root?
小提示: 如果不应该解释您的字符串,请使用'相反',它将更快。 例如:
define('DB_USER', 'root');
define('DB_PASSWORD', '');
$DB_SERVER = localhost';
$DB_DATABASE = 'app-db';