2013-10-24 162 views
4

我试图连接到远程服务器。我认为问题出在端口号上,但是当我尝试错误报告时,我没有收到任何信息。mysqli_connect到远程服务器

$db_host  = 'MY.IP.ADD.RESS:3306'; 
$db_user  = 'user'; 
$db_pass  = 'password'; 
$db_database = 'database'; 

$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database) or die('Unable to establish a NHT_DB connection'); 


if (!$link) { 
    die('Connect Error: ' . mysqli_connect_error()); 
} 
else { 
    echo 'Success... ' . mysqli_get_host_info($link) . "\n"; 
} 

首先,我并不是100%确信这是正确的端口。我如何知道mysql被设置为使用哪个端口?

其次,mysqli_connect_error()不给我任何东西。没有数字,代码,什么都没有。测试页面只是向后退出Connect Error:,尽可能多的代码我可以去查找。

+1

您与服务器管理员交谈并找出或登录到服务器并查看my.ini/my.cnf文件以查看它是什么。如果连接失败,你还会得到一个'或die()'将会终止脚本,这样一旦失败,mysqli_connect_error代码将不会被触发。 –

+0

拿出''或死()',仍然没有得到任何东西。 – Plummer

回答

7

解决方法是将一个端口参数添加到mysqli_connect函数。

$db_host  = 'MY.IP.ADD.RESS'; 
$db_user  = 'user'; 
$db_pass  = 'password'; 
$db_database = 'database'; 
$db_port  = '3306'; 

$link = mysqli_connect($db_host,$db_user,$db_pass,$db_database,$db_port);