2012-05-06 144 views
-2

我盡我所能,永遠不要使用php,因爲我不熟悉它我有一個問題,我不明白在這裏我已經嘗試了一些東西,包括不包括在/ config中將表引用改爲從localhost作爲mysql主機等。用PHP連接數據庫時出錯

它可能是非常明顯的東西,但我只是沒有發現它!我去與出來說所有的數據庫憑據是完全正確的(我可以用它精美的斯卡拉和Python連接)這裏 安韋的錯誤(真實的用戶名/密碼不存在OFC)

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1044] Access denied for user 'username'@'10.1.1.43' to database 'a5555413_AudioPl.users'' in /home/a5555413/public_html/drive/auth_handler.php:153 Stack trace: #0 /home/a5555413/public_html/drive/auth_handler.php(153): PDO->__construct('mysql:host=mysq...', 'username...', 'passwd') #1 /home/a5555413/public_html/drive/auth_handler.php(74): AuthHandler->GetDbConnection() #2 /home/a5555413/public_html/drive/index.php(47): AuthHandler->AuthHandler('webui') #3 {main} thrown in /home/a5555413/public_html/drive/auth_handler.php on line 153

連接代碼常量的是在一個單獨的配置文件

function GetDbConnection() { 
    $dbh = new PDO(Config::DB_PDO_CONNECT, 
     Config::DB_PDO_USER, 
     Config::DB_PDO_PASSWORD); 
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $dbConnection = $dbh; 
    return $dbConnection; 
    } 
+3

您可能想要鏈接您用於連接的代碼(無用戶/密碼,ofcourse)。 – ccKep

+0

在我看來,您用於此操作的用戶沒有所需的權限? – Sander

+0

[訪問拒絕用戶@'本地主機'到數據庫''](http://stackoverflow.com/questions/8621649/access-denied-for-user-localhost-to-database) – hakre

回答

2

拒絕訪問意味着你使用了錯誤的用戶名/密碼定義,和/或你所訪問的帳戶還沒有在MySQL正確創建。

show grants for [email protected]表示什麼?

如果您創建的帳號爲[email protected],並且MySQL無法進行反向DNS查找以將您的IP更改回機器名,那麼您也會收到此錯誤消息。

0

檢查以下內容:

1)你輸入了正確的數據庫主機名(這並不總是本地主機),用戶名和密碼? 2)用戶對數據庫有權限。

讓我知道如果你不知道如何檢查。