2010-01-17 147 views
5

我想通过本地主机上的PHP连接到我的在线服务器上的MySQL数据库。从本地主机连接到在线MySQL数据库

$con = mysql_connect("$hostname", "$username", "$password"); 
if (!$con) {die('Could not connect: ' . mysql_error());} 
mysql_select_db($databasename, $con); 

当我将脚本上传到服务器时,它连接到数据库的罚款。但是,当我在本地主机上加载脚本时,它不会连接到在线数据库。我关闭了防火墙,以确保它不会阻塞它。

上面的连接格式正确吗?还有其他建议吗?

+0

当您尝试在本地主机连接是否mysql_error()报告错误? – 2010-01-17 23:59:19

+0

'(mysql主机在这里)'无法连接到MySQL服务器(10060) – Mark 2010-01-18 00:01:28

+0

然后它肯定受服务器端的防火墙保护。 – 2010-01-18 00:33:32

回答

7

您的MySQL服务器需要您的IP地址(或%作为通配符)在允许的主机中指定。

2

主机是否允许这样做?许多人不会让外部客户连接。

2

正如其他人说你需要允许特定的主机(在这种情况下你的IP)连接。这在mysql数据库的user表中。如果您无权访问此数据库(或者没有授予权限),则无法更改此设置。

2

您的代码没问题。

正如其他人所说,MySQL服务器必须允许来自远程机器的连接。同时请确保您的提供商的防火墙不会阻止请求并仔细检查主机名,因为它可能与您在服务器上使用的名称不同。

如果您没有自己设置服务器,则可能需要与主机的用户支持交流,因为他们有权更改此主题的设置和更准确的信息。