我从用户提到的网站上看到,在主机生效前等待1天。但是在1天后,我仍然得到以下错误:
警告:mysqli_connect()[function.mysqli-connect] :( HY000 / 1130): 主持人' 10.1.1.25'不允许连接到此MySQL服务器 第2行/home/a123456/public_html/index.php
我是免费用户,我在000webhost中创建了一个数据库,但在我完成设置后我无法使用它。我没有远程连接。我觉得我正确地理解了指南,但仍然无法完成任务。我的详细信息如下:
我正在使用 mysqli 来建立连接。这是我的代码:
<?php
$link = mysqli_connect("mysql5.000webhost.com", "a123456_uname", "password1", "a123456_dbname");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
mysqli_close($link);
?>
答案 0 :(得分:1)
MySQL授予用户连接权限,但可能会限制这些连接到某些主机或网络范围。
通过类比:就像我允许朋友拨打我的电话并通过我的电话拦截,但只有当他从他自己的电话号码给我打电话时才会这样。
从错误中可以清楚地看出,您运行PHP脚本的主机10.1.1.25尚未处于允许连接MySQL服务器的范围内。托管公司要花费超过1天的时间来配置您的权限(您对免费用户的期望是什么?),否则您将从哪个主机运行PHP脚本时出现一些错误的沟通。
您应该联系您的托管公司。他们可以弄清楚在这个特定情况下发生了什么。 Stack Overflow上的人不能。
PS:我真的希望你不要只是在互联网上发布你的MySQL密码。
答案 1 :(得分:0)
此问题有即时解决方法。只需替换主机名(“mysql5.000webhost.com”)获取其IP地址即可。要知道IP地址,您可以在DOS上使用“ping”命令。只需打开一个CMD窗口并输入“ping mysql5.000webhost.com”。即:
ping mysql5.000webhost.com
使用32个字节的数据ping mysql5.000webhost.com [10.1.1.105]: 请求超时。 请求超时。 请求超时。 请求超时。
Ping 10.1.1.105的统计信息: 数据包:已发送= 4,已接收= 0,已丢失= 4(100%丢失),
&GT;
在这种情况下,IP是:10.1.1.105。 只需更换它就可以了。