PHP脚本无法连接到MYSQL数据库

PHP脚本无法连接到MYSQL数据库,php,mysql,Php,Mysql,我有一个直接的脚本,试图连接到MySQL数据库 当我运行脚本时,会出现以下错误: 警告:mysqli_connect:HY000/1045:在第16行的C:\xampp\htdocs\ShopSite\submitReg.php中使用密码:YES拒绝用户“root”@“localhost”的访问 连接失败 连接代码为: $server="127.0.0.1"; $db="shop"; $user="root"; $password=""; $conn=mysqli_connect($serve

我有一个直接的脚本,试图连接到MySQL数据库

当我运行脚本时,会出现以下错误:

警告:mysqli_connect:HY000/1045:在第16行的C:\xampp\htdocs\ShopSite\submitReg.php中使用密码:YES拒绝用户“root”@“localhost”的访问 连接失败

连接代码为:

$server="127.0.0.1";
$db="shop";
$user="root";
$password="";

$conn=mysqli_connect($server,$user,$password,$db) or die("Failed to connect");
我可以连接到phpMyAdmin并在那里编辑数据库。我正在使用XAMPP并在本地运行它

当我转到用户帐户时,它说root没有密码。我查看了配置文件,没有设置密码。我没有设置任何密码

我还没有进入和摆弄设置,或创建任何新的帐户。它工作得很好,从来没有遇到过这个问题,然后就从这个开始了。我重新安装了XAMPP,但仍然存在这个问题

我不明白为什么它说使用密码是的

我花了好几个小时来解决这个问题。我看过很多线索。并非所有这些都适用于我,因为我在本地运行它,并且没有进入并创建新的用户帐户。一切都是默认的

在重新安装之前,我尝试创建一个新的用户帐户,并赋予它必要的权限。我也给了它一个密码。没用

我不明白它为什么这样做,而且我自己也没有足够的知识来修复它。非常感谢您的任何帮助,这样您就可以恢复连接

变化

 $server="127.0.0.1"; 


我用过XAMPP一段时间,它对我很有效, 我认为mysql服务器的默认密码没有设置为,所以我猜 如果您更改根密码并尝试使用新密码访问数据库,则该密码应能正常工作

更新根密码 要更新root用户密码,必须执行以下步骤:

打开XAMPP控制面板 点击MySQL按钮 加载MySQL控制台后,执行以下查询:

设置“root”@“localhost”=密码“pass”;`

之后,将$password变量更改为 在这种情况下通过了吗

添加新用户 您还可以通过执行以下查询来添加新用户:

GRANT ALL PRIVILEGES ON *.* TO 'new-user'@'localhost' IDENTIFIED BY 'password';
用户名为新用户,密码为密码


我希望这会有所帮助。

上面写着localhost和using password:YES,这让我觉得您没有看到正确的代码块。您是否尝试过添加一个具有密码的用户并登录到数据库?我也会尝试直接使用mysqli客户端登录,比如heidisql@Devon,这是什么意思?如果您正在查看的代码块与错误对应,它会说127.0.0.1,使用的密码是:否。你确定你发布的代码是C:\xampp\htdocs\ShopSite\submitReg.php的第16行吗?@GuyLouzon我以前试过,但没用。这次试过了,成功了。谢谢你再次建议。不知道为什么它以前不喜欢它。请验证权限表是否需要在服务器上重新加载授权,以及您是否连接到了正确的服务器。请尝试以下操作:$con=mysqli\u connectlocalhost,root,,database\u name或diefiled to connect;
GRANT ALL PRIVILEGES ON *.* TO 'new-user'@'localhost' IDENTIFIED BY 'password';