2011-10-24 91 views
0

每當我嘗試連接數據庫時,我都會收到此消息database select error .Access denied for user '<username>'@'localhost' to database '<database>'。我的網站是遠程託管的。要連接到數據庫,我connect.php是這樣的:無法選擇數據庫(遠程)

$host = 'localhost'; 
    $user = '<username>'; 
    $pass = '<password>'; 
    $db = '<database>'; 

    $conn = mysql_connect($host,$user,$pass) or die('Unable to connect to host '); 

    @mysql_select_db($db,$conn) or die('database select error .'.mysql_error()); 

我有交叉檢查usernamepassword,其正確的,我已經給所有的權限給用戶<username>

怎麼回事?

+0

你說該網站託管遠程;我們可以假設這意味着數據庫與您的php代碼不同嗎? – jro

+0

不在同一臺服務器上。我的意思是說它不在本地電腦,它的主機。對不起我的英文不好 – Nitish

+0

腳本是否首先上傳到您的網站?如果你試圖從本地機器上運行它,那麼它可能不起作用。要麼上傳腳本並嘗試它,要麼啓用遠程連接,並將localhost更改爲您的服務器地址。 –

回答

0

最有可能的情況是,託管數據庫的服務器設置爲拒絕來自任何不是來自白名單源的請求的連接。如果您正在共享託管計劃(如Hostmonster,1 & 1等)計劃中訪問數據庫,則尤其如此。

如果它不是一個共享的主機,你需要把「localhost」是服務器+ MySQL的端口的IP地址和端口號,

+0

謝謝泰森,我想我得到了答案。我的網站託管在共享主機上。這可能會導致問題。那麼解決方案是什麼? – Nitish

+0

@Nitish可悲的是,我無法給你一個確切的解決方案。它因您的託管服務的提供商而異。在網站的控制面板中應該有一些東西可以將您的工作站添加爲授權設備;否則,請聯繫支持臺。 –

+0

但我有一個網站在這個相同的目錄中,我能夠從同一設備訪問該網站的數據庫。我很困惑! – Nitish

0

試試這個

mysql_select_db($db,$conn) or die('database select error .'.mysql_error());