使用php跨服务器的mysqli连接错误

时间:2013-12-23 13:00:24

标签: php mysql mysqli

我正在尝试使用PHP连接连接到另一台服务器上的MySQL数据库。我收到以下错误,无法弄清楚。

包含端口时出现错误:

  

警告:mysqli_connect()[function.mysqli-connect] :( HY000 / 2005):   未知的MySQL服务器主机'xxxxxx.db.0000095.hostedresource.com:3306'   (25)在/home/xxxxxx/public_html/tools/include/db_connect.php上线   3无法连接到MySQL:未知的MySQL服务器主机   'xxxxxxxx.db.0000095.hostedresource.com:3306'(25)


不使用端口时出现错误:

  

警告:mysqli_connect()[function.mysqli-connect] :( HY000 / 2003):   未知的MySQL服务器主机'xxxxxx.db.0000095.hostedresource.com'   (110)在/home/xxxxxx/public_html/tools/include/db_connect.php上线   3无法连接到MySQL:未知的MySQL服务器主机   'xxxxxxxx.db.0000095.hostedresource.com'(110)


这是我的db_connect文件:

<?
$con=mysqli_connect("xxxxxx.db.0000095.hostedresource.com","xxcorrectxx","xxcorrectxx",
"xxcorrectxx");

if (mysqli_connect_errno())
{
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
?>

<小时/> 这是服务器上可能存在的防火墙问题我有包含文件吗? 此db连接文件在我拥有的其他域上正常工作。 如果你能看到解决方法,请告诉我。谢谢。

2 个答案:

答案 0 :(得分:4)

可能是防火墙阻止了流量。

通常MySQL端口不对公共访问开放;它仅适用于本地网络。此外,DB用户可能在MySQL用户权限表中拥有localhost或IP而不是任何主机(%)。

您可以通过telnet验证远程服务器中的3306端口。

答案 1 :(得分:0)

根据documentation of mysqli_connect(),端口是一个附加参数。

$con=mysqli_connect("xxxxxx.db.0000095.hostedresource.com",
  "xxcorrectxx","xxcorrectxx", "xxcorrectxx", 3306);