Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-连接失败:拒绝用户访问';用户名'@';本地主机';(使用密码:是)_Php_Mysql_Mysqli_Database Connection - Fatal编程技术网

PHP-连接失败:拒绝用户访问';用户名'@';本地主机';(使用密码:是)

PHP-连接失败:拒绝用户访问';用户名'@';本地主机';(使用密码:是),php,mysql,mysqli,database-connection,Php,Mysql,Mysqli,Database Connection,我面临着这个错误。尝试了其他线程中给出的所有解决方案…创建新的user@localhost并授予它特权。 但对我来说什么都不管用 仍然收到此错误 连接失败:用户“用户名”@“本地主机”的访问被拒绝 (使用密码:是) 这是我的密码 <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "databasename"; // Create connection $co

我面临着这个错误。尝试了其他线程中给出的所有解决方案…创建新的user@localhost并授予它特权。 但对我来说什么都不管用

仍然收到此错误

连接失败:用户“用户名”@“本地主机”的访问被拒绝 (使用密码:是)

这是我的密码

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

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
else {
    echo "Connection Successful";
}
mysqli_close($conn);
?>

2件事情中的1件可能正在发生

  • 您的密码不正确
  • 用户名
    无权访问该数据库
  • 当执行以下查询时,您会得到什么

    FLUSH PRIVILEGES; SHOW GRANTS;
    
    你可能会发现

    2016年7月4日更新

    我怀疑用户的密码存储不正确。尝试重置密码(您可能需要以root用户身份连接才能使用此密码):

    如果不起作用,可以尝试使用旧语法:

    SET PASSWORD FOR 'username'@'localhost' = PASSWORD('cleartext_password');
    
    用您希望使用的密码替换
    cleartext\u password
    。然后再次尝试连接

    它有用吗


    还是同样的问题:'(

    好的,让我们从一个新用户开始。以
    root
    用户的身份执行下面的3个命令

    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'cleartext_password';
    GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
    FLUSH PRIVILEGES;
    
    如果所有3个命令都正确执行,请尝试下一步以
    newuser
    的身份连接到数据库


    它工作了吗?如果没有,您看到了什么错误?

    用户名或密码有问题


    如果您在默认情况下使用windows,用户名为“root”,密码为“”(空),

    看起来应该可以。问题在于您的MySQL配置(假设您使用的用户名和密码正确)。您是否向“用户名”授予特权localhost上的帐户?您是否在之后刷新权限?该帐户是否实际使用“密码”的正确“IDENTIFIED BY”子句创建?这很可能不是PHP代码的问题,而是上面提到的实际MYSQL配置的问题。您是否使用与phpmyadmin相同的连接参数?如果使用phpmyadmin,请查看用户并检查您的用户是否具有正确的访问主机。使用GRANT选项授予“用户名”@“本地主机”上的所有权限授予所有权限在
    databasename
    *上的S到'weirdMystry'@'localhost'使用授予选项将'@'上的代理权授予'username'@'localhost',直到相同的问题:'(我已经添加到我的回答中,我没有使用root…我为该数据库创建了一个单独的用户…并向其授予所有权限…我还使用Ubuntu 16.04,使用root和“”空密码也不起作用
    CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'cleartext_password';
    GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
    FLUSH PRIVILEGES;