Mysql远程连接可以从命令行/工作台工作,但不能从PHP脚本工作

Mysql远程连接可以从命令行/工作台工作,但不能从PHP脚本工作,php,mysql,Php,Mysql,我有一个简单的PHP脚本,试图连接到远程数据库: $dbhandle = mysql_connect("remote-ip-address", "username", "password") or die("Unable to connect to MySQL"); 运行此操作时,会出现未授权错误: Access denied for user 'username'@'my-public-ip-address' 所以我猜mysql告诉我用户名不允许从我的公共ip地址连接,对吗?。好啊奇怪的是

我有一个简单的PHP脚本,试图连接到远程数据库:

$dbhandle = mysql_connect("remote-ip-address", "username", "password") or die("Unable to connect to MySQL");
运行此操作时,会出现未授权错误:

Access denied for user 'username'@'my-public-ip-address'
所以我猜mysql告诉我用户名不允许从我的公共ip地址连接,对吗?。好啊奇怪的是,当我尝试使用相同的凭据从命令行或MySQL工作台进行连接时,效果很好


如果可以从同一主机的其他mysql客户端连接,为什么PHP不允许我连接?

这是一个mysql错误,所以不是PHP,但mysql hat不允许您连接。您的连接IP地址始终显示在错误消息中。MySQL不会在该消息中透露不允许连接的实际原因。您应该检查是否允许从该IP地址连接。可能从命令行连接的不是同一IP地址。您还可以撤销“username”的权限,并将命令行中的错误与PHP错误进行比较。我不知道,但我想把问题归咎于您在使用过时的API之前,使用了
mysql*
函数,而不是
mysqli*
,至少要使用PDO。有很多关于不该做什么的建议。起初我使用mysqli,但由于它不起作用,我开始测试不同的连接方法,以防万一。即使pdo也会抛出同样的错误。好吧,最后我发现了问题所在。我使用密码连接,服务器具有无密码访问权限。愚蠢的错误。这是一个MySQL错误,所以不是PHP,而是MySQL hat不允许您连接。您的连接IP地址始终显示在错误消息中。MySQL不会在该消息中透露不允许连接的实际原因。您应该检查是否允许从该IP地址连接。可能从命令行连接的不是同一IP地址。您还可以撤销“username”的权限,并将命令行中的错误与PHP错误进行比较。我不知道,但我想把问题归咎于您在使用过时的API之前,使用了
mysql*
函数,而不是
mysqli*
,至少要使用PDO。有很多关于不该做什么的建议。起初我使用mysqli,但由于它不起作用,我开始测试不同的连接方法,以防万一。即使pdo也会抛出同样的错误。好吧,最后我发现了问题所在。我使用密码连接,服务器具有无密码访问权限。愚蠢的错误。