为什么我不能从PHP中选择MySQL数据库?我得到“访问被拒绝”


WHy can't I select the MySQL database from PHP? I get "access denied"

我使用root用户从PHP连接到MySQL。连接对象为$con。连接成功。

我想选择一个特定的数据库,所以我使用mysql_select_db('database', $con),但我得到一个'Access denied for user '@'localhost' to database'错误。

我不明白为什么我得到一个访问拒绝错误,因为我使用root用户。我仔细检查了root的授权,它拥有.上的所有权限。我可以通过命令行客户端使用root对这个特定的数据库执行查询。

您没有使用根帐户(无论您想做什么,这都是一个坏主意)。错误信息清楚地表明... for user ''@localhost:没有用户名在那里,所以你已经连接没有用户名。

基本上,在您的mysql_connect(host, username, password)中,您输入了错误的详细信息。

您通常需要一个密码,以确保安全托管。这可以从您的主机提供商那里获得,用户名也可以由您的主机提供商或您自己定义。主机通常在localhost.

您必须将此mysql_connect添加到您使用php函数与mysql数据库的每个页面