2010-01-17 123 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服務器必須允許來自遠程機器的連接。同時請確保您的提供商的防火牆不會阻止請求並仔細檢查主機名,因爲它可能與您在服務器上使用的名稱不同。

如果您沒有自己設置服務器,則可能需要與主機的用戶支持交流,因爲他們有權更改此主題的設置和更準確的信息。

相關問題