2011-09-26 32 views
3

我是新來的PDO,並試圖使用它在xampp的窗口。我不斷收到與主機有關的錯誤,並嘗試將「localhost」更改爲所有可能的內容,例如ip地址和套接字,但我相信我沒有做到正確。我也試圖改變爲pdo_mysql.default_socket的變量,但我不認爲它的工作/我做了正確的either.This是我得到的錯誤:PDO連接xampp的窗口上的錯誤

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1044] Access denied for user 'admin'@'localhost' to database ''xxxxxx''' in C:\xampp\htdocs\faculty\classes\db.class.php

這是我目前在我的php中有

self::$instance = new PDO("mysql:host=localhost;dbname='xxxxxx'", 'admin', 'xxxxxxx'); 

回答

0

除去周圍DBNAME單引號作爲

self::$instance = new PDO("mysql:host=localhost;dbname=xxxxxx", 'admin', 'xxxxxxx'); 
0

你是否在mysql中創建了一個帳戶[email protected]? PDO的連接很好,但你使用不正確的憑據登錄到數據庫。

上創建帳戶的具體文檔:http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

+0

我用普通的mysql_connect連接測試了它,並且使用與PDO連接相同的設置爲mysql_connect和mysql_db_select執行了一切操作,所以它不是登錄 – dcap

+0

mysql_connect沒有指定數據庫,因此即使帳戶正在使用的數據庫沒有權限。確保您已在您的xxxxxx數據庫上授予此管理員用戶權限。 –

+0

我已經連接mysql_connect和mysql_db_select,都成功了。該帳戶僅對該數據庫沒有全局權限。有沒有其他的非PDO方法可以測試? – dcap

0

今天我同樣的問題,原來我的XAMPP MySQL數據庫有兩個說是「任何」條目在我忽略的phpmyadmin的用戶頁面中生成警告。

我設法與PDO連接,一旦我刪除這兩個條目...去圖。

總結:從你的PHP用戶列表中刪除「任何」用戶,如果他們在那裏。