2

我正在尝试使用以下代码行连接到 sql 数据库:

mysql_connect('localhost','root','');

当我将本地主机编辑为其他内容时,它会出错。当我将密码参数编辑为其他内容时,它会出错。这并非没有例外,但是当我编辑 root 用户名时,它不会出错。为什么它不会在用户名上给出错误。似乎我可以连接任何用户名。我做错什么了吗?

4

1 回答 1

1

您很可能能够“连接”,但实际上无法执行任何操作,例如运行查询。如果你跑

SELECT * FROM mysql.user

您可能会看到如下所示的一行:

Host       User    Password    Select_priv ...
localhost  ''      ''          N

数据库有一个空的用户/密码记录,没有任何表的权限。因此,如果您连接的用户不存在(密码必须为空,否则会出现访问错误),您实际上可以连接但实际上不能做任何事情

于 2012-06-22T20:17:55.137 回答