2012-11-27 259 views
0

嘗試連接到與我的網站不在同一主機上的數據庫,並且沒有太多的運氣。該數據庫是一個GoDaddy的主機上,我已將其配置爲允許遠程訪問:PHP mysqli連接到遠程數據庫

$dbc = mysqli_connect($db_host,$db_user,$db_pass,$db_name); 

if (!$dbc) { 
    die('Connect Error: ' . mysqli_connect_error()); 
} 

,我得到頁以下幾點:

Warning: mysqli_connect() [function.mysqli-connect]: [2002] Connection timed out (trying to connect via ‘mydbhostname:3306) in ‘path’ on line 3

Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2002): Connection timed out in ‘path’ on line 3

Connect Error: Connection timed out

什麼我需要找我到底什麼在可能導致這種情況的腳本中?

編輯:它似乎一切正常,當我使用MySQL,但不是mysqli ...和mysqli在服務器上啓用。

+0

使用localhost,而不是如果是在同一臺服務器上?它可能使用不同的端口嗎? –

+1

這就是整個問題,它不在同一臺服務器上。 – absentx

+1

你確定「mydbhostname」是你的數據庫的uri嗎? –

回答

-1

我不明白mysqli和mysql之間的區別,但我在GoDaddy上發現使用:

mysqli_connect不起作用。 mysql_connect可以工作。

嘗試使用下面的示例代碼,看看你是否可以連接到數據庫,在至少一個表需要的數據:

<?php 
//Variables for connecting to your database. 
//These variable values come from your hosting account. 
$hostname = "XXXXXXX.db.XXXXXXXX.hostedresource.com"; 
$username = "XXXXXXX"; 
$dbname = "XXXXXXX"; 

//These variable values need to be changed by you before deploying 
$password = "XXXXXXX"; 
$usertable = "XXXXXXX"; 
$yourfield = "XXXXXXX"; 

//Connecting to your database 
mysql_connect($hostname, $username, $password) OR DIE ("Unable to 
connect to database! Please try again later."); 
mysql_select_db($dbname); 

//Fetching from your database table. 
$query = "SELECT * FROM $usertable"; 
$result = mysql_query($query); 

if ($result) { 
    while($row = mysql_fetch_array($result)) { 
     $name = $row["$yourfield"]; 
     echo "<h2>some data</h2>"; 
     echo "$name<br>"; 
    } 
} 
?> 
+1

Godaddy不支持mysqli?這對我來說似乎不太可能。不過,我完全不同意推薦使用已棄用的ext/mysql。如果有的話,推薦使用PDO,但不能使用ext/mysql。 – Mike

+0

我在2016年遇到了這個相同的問題。使用phpInfo();在測試腳本中顯示GoDaddy已安裝mysqli。建立與數據庫的連接工作正常,但嘗試獲取記錄不能使用mysqli。他們的PHP版本是5.4.45。根據這個PHP頁面,mysql_connect在版本5.5中被棄用。如果他們升級PHP版本,它會破壞網站。我建議創建mysql_connect和一個mysqli_connect塊。然後檢查服務器的PHP版本。當PHP> 5.5+時使用mysqli,當PHP <5.4x時使用mysql。 http://php.net/manual/en/function.mysql-connect.php – Clomp