📌  相关文章
📜  mysqli_real_connect(): (HY000 1698): Access denied for user 'root'@'localhost' - SQL (1)

📅  最后修改于: 2023-12-03 15:17:49.015000             🧑  作者: Mango

异常主题:'mysqli_real_connect(): (HY000 1698): Access denied for user 'root'@'localhost' - SQL'

这个异常通常出现在尝试连接 MySQL 数据库的时候,表示连接的数据访问权限有问题。

常见原因

  • 用户名或密码错误
  • 用户没有访问权限
  • 数据库不存在
  • 主机名或者端口号有误

解决方案

  1. 检查用户名和密码是否正确。确保使用了正确的凭据,并且密码没有被更改。
  2. 确保用户有访问数据库的权限。可以使用 grant 命令赋予用户相应的访问权限。
  3. 确认数据库是否存在,以及是否以正确的名称引用它。
  4. 检查主机名和端口号。如果您没有在连接字符串中指定主机名和端口号,则默认值是“localhost”和“3306”。

示例代码片段

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否有效
if (!$conn) {
   die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

参考链接:PHP mysqli_connect() 函数