2012-05-27 120 views
0

我想與MySql服務器建立連接。如何建立與MySql Server的連接?

我的PHP代碼:

<?php 
$dbhost = 'testhost.com'; 
$dbuser = 'testuser'; 
$dbpass = 'testpass'; 
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die   
('Error connecting to mysql'); 
$dbname = 'testdb'; 
mysql_select_db($dbname); 
?> 

但它顯示了以下錯誤:

警告:mysql_connect()函數[function.mysql-連接]:在「閱讀最初的通訊中斷了連接到MySQL服務器在第6行的F:\ xampp \ htdocs \ db_connect123.php中的系統錯誤:0 連接到mysql的錯誤

在這種情況下,我完全困惑,因爲它在本地主機上工作正常,如果我更改主機名。 請給我一個解決方案我該如何解決這個問題,並與MySql服務器連接。

+3

是你真正的用戶名/密碼?似乎abit愚蠢你不覺得.. –

+0

「讀取初始通信包」指的是一個無效的主機名..請檢查主機名正確。 –

+0

您的服務器可能不允許遠程連接。檢查以確保您的服務器/主機帳戶啓用了遠程連接。你在共享主機? –

回答

-1

使用此代碼,請,它是一種非標準的SQL連接代碼:

$link = mysql_connect('xhost', 'xuser_name', 'xpassword'); 
if (!$link) { 
    die('Connect Error : ' . mysql_error()); 
} 
mysql_set_charset('utf8', $link); // Encoding 
$db_selected = mysql_selectdb('x_database', $link); 
if (!$db_selected) { 
    die ('DBselect Error : ' . mysql_error()); 
} 

好運氣,祝您愉快。

+0

這有什麼用? –

+0

如果您的主機,用戶,密碼和數據庫選擇現在都有問題,那麼根本不應該有任何問題。 – Blanktext

+0

這當然是更好的代碼,因爲如果可以建立到服務器的連接,它會給出更好的消息,但是訪問數據庫的權限被拒絕。懷疑它會幫助OP解決當前的問題。 –

0

確保my.ini的是不是:

bind-address = 127.0.0.1 
port = 3306 

相反,它應該是:

bind-address = 0.0.0.0 
port = 2083 

請確保您的用戶carefre2_polash「具有 」%「 主機場(指-host)在MySQL下。

如果這是在Windows上運行的MySQL,請將本機Windows防火牆配置爲接受上述端口號上的傳入TCP。

+0

請告訴我「my.ini」的位置。謝謝。 – Polash

+0

@Polash,我使用WampDeveloper,但從我的快速谷歌搜索Xampp,它看起來像我的。ini將位於文件夾F:\ xampp \ mysql \ bin \中。 P.S.,假定服務器的my.ini,而不是本地的my.ini(如果你在不同的系統上連接到mysql)。 – rightstuff

+0

我更改了端口,但是在my.ini文件中沒有綁定地址配置。請幫助我。我試圖連接到我的託管網站窗體2天,但我不能。謝謝 – Polash