我在 phpMyAdmin 中创建了一个用户,我只想允许查询、插入和更新操作,在我的 php 文件中,我尝试连接到 MySQL 数据库,但总是出现错误Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'me'@'localhost' (using password: YES)
,即使我正确地将参数输入到 mysqli 构造函数中。我读到我应该勾选GRANT
用户的复选框,但这并没有解决问题。我在这里遗漏了什么?我知道如果我尝试使用 root 并且没有密码,我可以成功连接。
答案1
在评论中,我要求您运行以下查询来诊断您的问题:
select User, Host, Password
from mysql.user
where User = "[The Username]";
select User, Db, Host
from mysql.db
where User = "[The Username]"
您的回答表明您创建的用户是balsam
。这使您的问题非常明显 - 您正尝试以用户身份连接到 MySQL me
,请使用正确的用户名balsam
。
此外,为了确保您使用的密码正确,您可以运行以下命令:
select PASSWORD("[INSERT HASHED PASSWORD HERE]"), Password
from mysql.user
where user = 'balsam';
如果运行上述命令后两列的值相同,则说明您使用的密码正确。如果不同,则需要重置密码或删除用户授权并重新创建用户帐户。
请确保您使用的是正确的用户名,而不是您在问题中发布的“我”。