2013-02-05 50 views
0

我遇到了Zend框架和數據庫連接的問題,我試圖創建一個登錄名,表被創建,並且代碼顯然是好的,但給我這個:Zend錯誤SQLSTATE [HY000] [1045]

An error occurred 
Application error 
Exception information: 

Message: SQLSTATE[HY000] [1045] Access denied for user 'onetag51_teste'@'localhost' (using password: YES) 
Stack trace: 

#0 C:\xampp\Zend\library\Zend\Db\Adapter\Pdo\Mysql.php(109): Zend_Db_Adapter_Pdo_Abstract->_connect() 
#1 C:\xampp\Zend\library\Zend\Db\Adapter\Abstract.php(860): Zend_Db_Adapter_Pdo_Mysql->_connect() 
#2 C:\xampp\Zend\library\Zend\Db\Adapter\Abstract.php(930): Zend_Db_Adapter_Abstract->quote('pass1', NULL) 
#3 C:\xampp\Zend\library\Zend\Auth\Adapter\DbTable.php(449): Zend_Db_Adapter_Abstract->quoteInto('`password` = ?', 'pass1') 
#4 C:\xampp\Zend\library\Zend\Auth\Adapter\DbTable.php(368): Zend_Auth_Adapter_DbTable->_authenticateCreateSelect() 
#5 C:\xampp\Zend\library\Zend\Auth.php(117): Zend_Auth_Adapter_DbTable->authenticate() 
#6 C:\xampp\htdocs\Eulen\application\controllers\AuthenticationController.php(27): Zend_Auth->authenticate(Object(Zend_Auth_Adapter_DbTable)) 
#7 C:\xampp\Zend\library\Zend\Controller\Action.php(516): AuthenticationController->logininAction() 
#8 C:\xampp\Zend\library\Zend\Controller\Dispatcher\Standard.php(308): Zend_Controller_Action->dispatch('logininAction') 
#9 C:\xampp\Zend\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) 
#10 C:\xampp\Zend\library\Zend\Application\Bootstrap\Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#11 C:\xampp\Zend\library\Zend\Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#12 C:\xampp\htdocs\Eulen\public\index.php(26): Zend_Application->run() 
#13 {main} 

Request Parameters: 

array (
'controller' => 'authentication', 
'action' => 'loginin', 
'module' => 'default', 
) 

我正在尋找一個解決方案,以及一些可能出現的錯誤的人,用我的傳球和用戶(如果我去了拼寫錯誤(我沒有發現任何),不能連接到phpMyAdmin phpmyadmim網站,我可以使用用戶名和密碼輸入)。

我已經嘗試了幾個解決方案,但我無法弄清楚。

我錯過了什麼。

文件的config.ini:

resources.db.params.charset = "utf8" 
resources.db.adapter = "pdo_mysql" 
resources.db.params.host = localhost 
resources.db.params.username = "onetag51_teste" 
resources.db.params.password = "*******" 
resources.db.params.dbname = "onetag51_eulenhugo" 

其更好地把這裏的authenticationcontroller,也許問題是有..

<?php 

class AuthenticationController extends Zend_Controller_Action 
{ 

public function init() 
{ 
    /* Initialize action controller here */ 
} 

public function indexAction() 
{ 
    // action body 
} 

public function logininAction() 
{ 
    // action body 
    $authAdapter =$this->getAuthAdapter(); 
    $username='hugo'; 
    $password='pass1'; 

    $authAdapter->setIdentity($username) 
       ->setCredential($password); 

    $auth =Zend_Auth::getInstance(); 
    $result = $auth->authenticate($authAdapter); 
    if($result->isValid()) 
    { 
     echo 'valid'; 
    } 
    else 
    { 
     echo 'invalid'; 
    } 
} 

public function logoutAction() 
{ 
    // action body 
} 
private function getAuthAdapter() 
{ 
    $authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Db_Table::getDefaultAdapter()); 
    $authAdapter->setTableName('users') 
       ->setIdentityColumn('username') 
       ->setCredentialColumn('password'); 

    return $authAdapter; 
}    


} 

香港專業教育學院一直在談論我的一個朋友,他告訴我需要設置允許通過zend訪問phpmyadmim的權限...

我該怎麼做?

+0

只是爲了確定,「*******」是您擁有的實際參數config.ini的密碼?或者你只是爲了這個問題而使用它,即使如此,我也會建議將它改爲隨機的。 –

+0

不,我使用我的密碼,但是我切換爲****。 –

回答

0

您不需要在配置文件中使用引號,用戶名,密碼和dbname。我不在我的,希望這有助於。

我發現更多的閱讀可能會有所幫助access denied for user @ 'localhost' to database ''因爲它提到

你需要,如果你想外部接取數據庫授予權限的用戶(即網頁)。 在答案。

There is also this link about adding the users to the database in mysql.

希望這有助於

+0

我嘗試,但沒有什麼......同樣的錯誤。 –

+0

我一直在尋找你給我的鏈接,但問題維護。我發送郵件給服務器告訴他們我的問題,讓我看看他們是否可以幫助。 –

0

所以,問題是用priveleges相關,感謝ARJMP,香港專業教育學院tryed改變了priveleges但你的主機didnd讓我做,所以我所做的就是使用xamp創建本地數據庫並嘗試使用xamp創建的數據庫進行登錄,並且它工作...

相關問題