尝试连接数据库时,我收到了“拒绝访问”错误。这是代码:
<?php
mysql_connect("00.00.00.00:00000","user","pass");
mysql_select_db("dbname");
$q=mysql_query("CALL GetMaterialInfo('".$_REQUEST['user']."','".$_REQUEST['pass']."','6c3e91d3')");
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>
我更改了主持人的IP地址(不是全部为零)以及用户名和密码以及数据库名称。我确定用户和密码,以及主机ip和portnumber以及数据库名称是正确的。我设法使用JDBC连接器连接到数据库,但它通过PHP脚本提供以下错误:
<b>Warning</b>: mysql_connect() [<a href='function.mysql-connect'>function.mysql-connect</a>]: Access denied for user 'username'@'192.168.1.1' (using password: YES) in <b>/www/zxq.net/t/e/s/testphpbach/htdocs/Connection.php</b> on line <b>2</b><br />
答案 0 :(得分:4)
您需要进行以下检查:
SHOW GRANTS [FOR user]
。可以找到更多信息here
如果这些都不起作用,也许尝试使用默认用户以外的其他用户
让我们知道会发生什么答案 1 :(得分:3)
您可能已成功使用相同的用户名/密码从phpmyadmin登录,但如果主机不是localhost,则无法从php登录。我有同样的问题。转到mysql并授予该用户从所有主机(%)或您运行php代码的特定主机IP登录的权限。
答案 2 :(得分:1)
我之前收到了mysql错误消息“用户拒绝访问...”
我在php中的远程访问问题的解决方案是授予对cPanel'%'中所有主机的访问权限
另外,要弄清楚你的mysql webhost和端口,请在数据库上执行sql命令'show variables'。变量'hostname'和'port'将告诉你需要知道的mysql数据库连接。
需要注意的另一件事是确保您创建的用户实际上已添加到数据库中。