Php 创建新用户后mySQL访问被拒绝错误

Php 创建新用户后mySQL访问被拒绝错误,php,mysql,Php,Mysql,我用mysql做了一些项目,没有问题。今天,我的朋友向我展示了如何通过以下方式在mysql中创建用户: Create database cc; use cc CREATE USER 'testing'@'localhost' IDENTIFIED BY 'pass'; GRANT ALL ON cc.* TO 'testing'@'localhost'; 现在我尝试使用我的项目,但出现以下错误: Connection failed: Access denied for user ''@'loc

我用mysql做了一些项目,没有问题。今天,我的朋友向我展示了如何通过以下方式在mysql中创建用户:

Create database cc;
use cc
CREATE USER 'testing'@'localhost' IDENTIFIED BY 'pass';
GRANT ALL ON cc.* TO 'testing'@'localhost';
现在我尝试使用我的项目,但出现以下错误:

Connection failed: Access denied for user ''@'localhost' to database 'login'
我删除了以前创建的用户:

drop user 'testing'@'localhost';
我成功删除了该用户,我使用以下选项检查了该用户:

select User from mysql.user;
测试帐户不见了,但现在我有3个根帐户,我不明白为什么。由于我删除了那个“测试”帐户,我再次尝试了我的项目,但我得到了相同的错误。为什么我不能再使用默认的
'root'
帐户

编辑:

php代码的错误部分:

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "login";


// Error is in following line
$conn = mysqli_connect ( $servername, $username, $password, $dbname );
我也试过:

GRANT ALL ON login.* TO 'root'@'localhost';

show grants; 
结果是:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT ALL PRIVILEGES ON login.* TO 'root'@'localhost'
“根”似乎可以访问所有内容。为什么我会出错

编辑2:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "login";
$username = $_POST['username'];
$pass = $_POST['password'];

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

您的应用程序覆盖了之前设置的$username变量,其中的$u POST['username']数据看起来是空的。因此,mysqli_connect尝试使用空白用户名连接到数据库

要更正此问题,请将$username变量重命名为不冲突的其他变量

例如:

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "login";
$username_post = $_POST['username'];
$pass = $_POST['password'];

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

您只授予了cc数据库的权限,但您正在尝试访问数据库“login”。@ChipDean我删除了该用户,我在项目中使用了默认的根帐户。我检查了授权,并且根用户拥有所有本地主机的授权。@您是否可以复制并粘贴您在使用根登录时收到的错误?@Muggles连接失败:拒绝用户'@'localhost'访问数据库'login'。奇怪的是,它说的是用户“@”…它没有显示用户名。@请尝试$conn=mysqli_connect('localhost','root','login');看看是否仍然有错误?