0

I am having trouble with zend framework and connection with database, I'm trying to create a login, the table is created, and the code apparently is fine, but gives me this:

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',
 )  

I was searching for a solution, and some of the possible errors were, spelling errors(I didn't find any), can't connect to phpmyadmin using my pass and user(if I go to the phpmyadmim site, I can enter using the username and password).

I have try several solution but I cant figure it out.

Am I missing something.

file 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"

Its better to put here the authenticationcontroller, maybe the problem is there..

 <?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;
}              


}

ive been talking to a friend of mine, and he told me that i need to set the permission for acesse the phpmyadmim through zend...

How can i do that?

Hugo Silva
  • 23
  • 1
  • 10
  • just to be certain, "*******" is the actual parameter you have in you config.ini for password ? or you're using it just for the question, even if so I would suggest to change it to something random. – ro ko Feb 05 '13 at 07:46
  • no, im using a my password, but ive switched for ****. – Hugo Silva Feb 05 '13 at 17:43

2 Answers2

0

You don't need to use quotations around your adpater, username, password and dbname in your config file. I don't in mine, hope this helps.

I found a bit more reading that might be helpful access denied for user @ 'localhost' to database '' because it mentions

You need grant privileges to the user if you want external acess to database(ie. web pages). in the answer.

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

Hope this helps

Community
  • 1
  • 1
A. J. Parr
  • 7,731
  • 2
  • 31
  • 46
  • i ve been looking in the link that you gave me, but the problem maintains.i have send a mail to the server telling them my problem, let me see if they can help. – Hugo Silva Feb 06 '13 at 03:11
0

So the problem was related with the priveleges, thanks for ARJMP, ive tryed changed the priveleges but thee host didnd let me do it, so what i did was create a local database using xamp and try the login with the database that ive created in xamp, and it worked...

Hugo Silva
  • 23
  • 1
  • 10