Zend 错误 SQLSTATE[HY000] [1045]

Posted

技术标签:

【中文标题】Zend 错误 SQLSTATE[HY000] [1045]【英文标题】:Zend error SQLSTATE[HY000] [1045] 【发布时间】:2013-01-19 23:54:46 【问题描述】:

我在使用 zend 框架和与数据库的连接时遇到问题,我正在尝试创建登录名,创建了表,并且代码显然很好,但给了我这个:

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 的权限...

我该怎么做?

【问题讨论】:

只是为了确定,“*******”是您在 config.ini 中用于密码的实际参数?或者您只是将它用于问题,即使我建议将其更改为随机的。 不,我用的是我的密码,但我换成了****。 【参考方案1】:

您无需在配置文件中使用引号括起您的 adpater、用户名、密码和 dbname。我没有,希望这有帮助。

我发现更多阅读内容可能会有所帮助access denied for user @ 'localhost' to database '',因为它提到了

如果您想从外部访问数据库(即网页),您需要向用户授予权限。 在答案中。

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

希望对你有帮助

【讨论】:

我一直在查看您给我的链接,但问题仍然存在。我已向服务器发送邮件告诉他们我的问题,让我看看他们是否可以提供帮助。【参考方案2】:

所以问题与权限有关,感谢 ARJMP,我尝试更改权限,但主机没有让我这样做,所以我所做的是使用 xamp 创建一个本地数据库并尝试使用我的数据库登录在 xamp 中创建,它工作...

【讨论】:

以上是关于Zend 错误 SQLSTATE[HY000] [1045]的主要内容,如果未能解决你的问题,请参考以下文章

SQLSTATE [HY000]:一般错误:1364 字段“名称”没有默认值

Symfony 2 SQLSTATE [HY000] [2002] 连接被拒绝错误

SQLSTATE [HY000]:一般错误:1364 字段“标题”没有默认值

SQLSTATE [HY000]:一般错误:2053

PDO 错误:SQLSTATE [HY000]:一般错误:2031

SQLSTATE [HY000] Laravel 8 中的外键约束格式错误