我从脚本中收到一条非常明显的错误消息,但我知道我的详细信息是正确的,并且我有来自此Web服务(000webhost.net)的授权请求。显然网络上的其他人没有收到此错误,在此消息发布3天后,我感到非常沮丧!有谁知道如何通过我的提供商解决它:
用户'a3040562_kputts'@'10.1.1.18'拒绝访问数据库'ireport'
此外,这是一段示例代码,其他人认为我输入了错误的信息:
// Make a MySQL Connection
mysql_connect("mysql4.000webhost.com", "a3040562_kputts", "(censored)") or die(mysql_error());
mysql_select_db("ireport") or die(mysql_error());
答案 0 :(得分:3)
您已成功连接到数据库服务器,但您的用户没有必要的MySQL权限才能使用该特定数据库。您需要以特权用户(或对该数据库具有GRANT
权限的用户)执行GRANT OPTION
查询。
允许此用户使用数据库(但不一定是任何表):
GRANT USAGE ON ireport.* TO 'a3040562_kputts'@'10.1.1.18';
允许此用户对该数据库中的所有对象拥有完全权限:
GRANT ALL ON ireport.* TO 'a3040562_kputts'@'10.1.1.18';
答案 1 :(得分:0)
a3040562_kputts是您的帐户(如同,没有人分享)?如果其他人也使用它,他们是否从其他位置访问数据库?当用户帐户没有访问数据库的正确权限时,通常会出现此错误。
您需要具有更高访问权限的人来检查权限表,以确保帐户可以访问该表。如果帐户可以但仍然被拒绝,请让他们仔细检查'hosts'字段(该字段控制请求的来源,有时它默认为'localhost',所以只有服务器才能访问自己,I相信如果你对主机'*'有权限,你可以在任何地方使用它。)