我正在尝试为MySQL创建一个Web用户帐户,但无法使其正常工作。我的用户 webusr ,密码为 WebUser ,数据库为图书。
我在phpMyAdmin中仅使用SELECT,INSERT和UPDATE创建了用户。当我运行我的PHP行$db = new mysqli('localhost', 'webusr', 'WebUser', 'books');
时,它失败并显示消息“Warning: mysqli::mysqli(): (HY000/1045): Access denied for user 'webusr'@'localhost' (using password: YES)”
不确定我在这里做错了什么。数据库也具有相同的权限设置。我在使用EasyPHP的Windows PC上。我尝试使用没有密码的 root 用户进行设置,代码似乎工作正常。
答案 0 :(得分:0)
1:尝试使用PDO而不是mySQLi Why bother using PDO? click to read.
2:现在,试试这个:
$db = new mysqli('localhost', 'webusr', 'WebUser', 'books');

$db = new mysqli('localhost', webusr, WebUser, books);

答案 1 :(得分:0)
很可能你没有匹配主机字段。在MySQL中,通配符主机%
与套接字连接不匹配,对于那些需要主机localhost
的人,如果我没记错,某些版本甚至不匹配127.0.0.1到%
。
由于您告诉mysqli使用套接字连接(通过连接到主机localhost),并且您的用户主机字段不是“localhost”,因此您无法连接。编辑现有用户并将主机更改为“localhost”(如果您不需要tcp连接)或添加具有主机“localhost”的新用户(如果要继续允许tcp连接)(例如,如果您有应用程序)不同的机器)。