用户 'root'@'localhost' 的访问被拒绝(使用密码:NO);

Access denied for user 'root'@'localhost' (using password: NO);

我正在使用 PHP 和 mysql(XAMPP)。我正在尝试使用 PDO 将我的 php 文件与数据库连接起来。但它显示以下错误。 (mysql_query():用户 'root'@'localhost' 的访问被拒绝(使用密码:NO))。不知道是什么问题。我是第一次使用 PDO。请任何人告诉我问题是什么以及解决方案是什么。这是我的代码。

$dsn = 'mysql:dbname=abc;host=localhost';
$dbuser = 'user';
$dbpass = 'pass';

$params = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC);

$pdo = new PDO($dsn, $dbuser, $dbpass, $params);

嗯,你不使用 mysql_query() 和 PDO。您将使用准备好的语句使用 $pdo->query(), or better yet $pdo->prepare()

mysql_query() 来自已弃用的 mysql API.

$pdo = new PDO($dsn, $dbuser, $dbpass, $params);
$stmt = $pdo->prepare('SELECT * FROM `table` WHERE id = ?');
$stmt->execute( [ $_GET['id'] ] );
$row = $stmt->fetch();
$dsn = 'mysql:host=localhost;dbname=test';
$dbuser = 'user';
$dbpass = 'pass';

$params = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC);

$pdo = new PDO($dsn, $dbuser, $dbpass, $params);

你弄错了 mysql:dbname=abc;host=localhost

                            ^^^^^^^^^^