2012-02-04 12 views
1

這可能是一個愚蠢的問題,但是,我試圖連接到數據庫槽的PHP文件:PHP:無法連接:未知的MySQL主機

<?php 
$con = mysql_connect("host","username","password"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("my_db", $con); 

$result = mysql_query("SELECT * FROM wp_posts"); 

while($row = mysql_fetch_array($result)) 
{ 
echo $row['post_title'] . " " . $row['ID']; 
echo "<br />"; 
} 
mysql_close($con); 
?> 

但我收到以下錯誤: Could not connect: Unknown MySQL server host 'ijsselmondenieuws.nl/' (11004)

我很困惑我需要使用什麼主機。該網站本身是www.ijsselmondenieuws.nl。對於我自己的網站,我知道它的mysql50-c1.website.com。

任何幫助表示讚賞!

感謝,

傑夫

+0

你必須從你的託管公司的技術支持找出使用什麼。 – 2012-02-04 23:37:17

+0

此數據庫位於何處? 「本地主機」不起作用?你試過數據庫服務器IP嗎? – 2012-02-04 23:37:33

回答

1

主機將無論是localhost如果MySQL服務器在同一臺計算機上運行Web服務器,或像192.168.xxx.xxx10.xxx.xxx.xxx本地IP地址。主機很少會是一個名字,在這種情況下,它很可能是一個計算機名稱(例如我的是KOLINK-PC)。

+0

這不一定是真的;例如,共享服務器通常會有非本地主機URI,以及我在哪裏工作(在大學)。這取決於如何設置服務器環境以及他們如何向腳本提供服務。 – 2012-02-04 23:40:30

+0

我的服務器連接到本地IP,例如我在我的答案中提到的。 – 2012-02-04 23:42:11

+0

是的,我明白你的意思了(最初並沒有真正獲得最後的部分)。我們有一個負載平衡器在工作,所以我們實際上必須沿着'mysql.webadmin.example.edu'的方向使用一些東西,它可以返回四個服務器中的一個。 Dreamhost也有你使用的'mysql.dbname.dreamhosters.net'語法。我只是說有更多的變體,而不是你所指的東西,並且應該諮詢主機公司的文檔(如果它是一個託管網站缺乏你自己管理的成熟的虛擬服務器)。 – 2012-02-04 23:51:10

2

我可以在端口3306上連接到ijsselmondenieuws.nl並獲得MySQL問候。確保主機末端沒有/,因爲它似乎顯示在錯誤消息中。

爲了從不同主機進行身份驗證,如果不在服務器上,您可能需要明確允許用戶從您的IP /主機名進行連接。

1

你必須看看你從你的主機得到的信息。如果一切正常,它會列出您應該使用的數據庫服務器和端口。 如果你找不到這個,請聯繫你的主人。

(我假設你是不是託管自己的網站。在這種情況下,顯然,正確的做法是不同的)

1

ijsselmondenieuws.nl MySQL服務器必須有誰可以從您的本地PC訪問用戶。

在此處創建一個用戶,如下所示。

GRANT 
    ALL PRIVILEGES 
ON 
    my_db.* 
TO 
    [email protected]_EXTERNAL_IP 

IDENTIFIED BY 

    'PASSWORD'; 

現在通過以下行連接形式您的localhost。

$con = mysql_connect("ijsselmondenieuws.nl","user1","PASSWORD"); 
+1

如果MySQL可以連接,但不能提供不同的錯誤消息,但無法登錄? – Jasper 2012-02-05 00:21:13

相關問題