Zend_Db_Table::getDefaultAdapter is not working

时间:2023-03-09 18:45:09
Zend_Db_Table::getDefaultAdapter is not working

在Bootstrap中使用

        $url = constant ( "APPLICATION_PATH" ) . DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR . 'application.ini';
$dbconfig = new Zend_Config_Ini ( $url, "mysql" );
// $db = Zend_Db::factory ( $dbconfig->db );
$db = Zend_Db_Table::getDefaultAdapter ();
// var_dump ( $db );
$db->query ( "set names utf8" );
// Zend_Db_Table::setDefaultAdapter ( $db );

会出现$db不能实例化的情况,当中Application.ini文件的内容例如以下:

[mysql]
resources.db.adatper=PDO_MYSQL
resources.db.isDefaultTableAdapter = true
resources.db.params.host=localhost
resources.db.params.username=root
resources.db.params.password=admin
resources.db.params.dbname=hsp

在这样的情况下须要使用例如以下方法:

        $db = Zend_Db::factory ( 'PDO_MYSQL', array (
'host' => 'localhost',
'username' => 'root',
'password' => 'admin',
'dbname' => 'hsp'
) );
$db->query ( "set names utf8" );
Zend_Db_Table::setDefaultAdapter ( $db );

这样的方法能够正确的实例化$db。