In Zend Framework Zend_Db_Table::getDefaultAdapter() returns Null
after serching up and down the internets, finding no proper answer, I am asking you:
I want to implement a getAuthAdapter(array $form)
private function getAuthAdapter(array $form) {
$authAdapter = new Zend_Auth_Adapter_DbTable(
Zend_Db_Table::getDefaultAdapter(),
'user',
'email',
'password',
'MD5(?) AND hidden = "FALSE"');
$authAdapter->setIdentity($form['email'])
->setCredential($form['password']);
return $authAdapter;
}
To establish a database connection, I added following lines to my application.ini
resources.db.adapter = "PDO_MYSQL"
resources.db.params.host = "localhost"
resources.db.params.username = web5
resources.db.params.password = ACv8vSdn
resources.db.params.dbname = usr_web5_1
resourses.db.isDefaultTableAdapter = true
But after trying the script I experience following error:
Application error
Exception information:
Message: No database adapter present
Stack trace:
0 /usr/share/php/libzend-framework-php/Zend/Auth/Adapter/DbTable.php(140): Zend_Auth_Adapter_DbTable->_setDbAdapter(NULL)
1 /var/www/web5/html/application/controllers/LoginController.php(49): Zend_Auth_Adapter_DbTable->__construct(NULL, 'user', 'email', 'password', 'MD5(?) AND hidd...')
2 /var/www/web5/html/application/controllers/LoginController.php(23): LoginController->getAuthAdapter(Array)
3 /usr/share/php/libzend-framework-php/Zend/Controller/Action.php(513): LoginController->indexAction()
4 /usr/share/php/libzend-framework-php/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('indexAction')
5 /usr/share/php/libzend-framework-php/Zend/Controller/Front.php(954): Zend_Controlle开发者_JAVA百科r_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
6 /usr/share/php/libzend-framework-php/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
7 /usr/share/php/libzend-framework-php/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
8 /var/www/web5/html/public/index.php(26): Zend_Application->run()
9 {main}
Request Parameters:
array (
'controller' => 'login',
'action' => 'index',
'module' => 'default',
'email' => 'test@domain.com',
'password' => 'test',
'login' => 'Login',
)
You might want to check you bootstrapper and debug your code which loads the db.
精彩评论