首页 > 解决方案 > mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (使用密码: NO)

问题描述

$dbser='localhost';
$user='root';
$pasw='';
$db='mlm';
$con=mysqli_connect($dbser,$user,$pasw)or die("mysql not connected:" .mysqli_connect_error());

我的 phpMyAdmin 工作正常,但与数据库的连接不工作。我还检查了我在 phpMyAdmin 中的 root 密码是否为空,但仍然无法正常工作。

标签: phpmysqlmysqli

解决方案


正如您在函数文档中看到的:

mysqli_connect ([
    string $host = ini_get("mysqli.default_host")
    [, string $username = ini_get("mysqli.default_user") 
    [, string $passwd = ini_get("mysqli.default_pw")
    [, string $dbname = "" 
    [, int $port = ini_get("mysqli.default_port") 
    [, string $socket = ini_get("mysqli.default_socket") ]]]]]] 
    ) : mysqli|false

$passwd参数的默认值是带有不存在参数的ini_get()的结果:

函数ini_get()

退货

成功时将配置选项的值作为字符串返回,或者将空值作为空字符串返回。如果配置选项不存在,则返回FALSE 。

所以尝试一下:

$pasw = false;
// or 
$con = mysqli_connect($dbser, $user);

推荐阅读