2012-09-17 49 views
1

我開始一個新的項目,並使用我的PHP Zend Framework和MySQL數據庫的首選設置。Zend Framework不會連接到MySQL數據庫

出於某種原因,我無法正確設置Zend_Db_Adapter,因此它將成功連接到數據庫。我已經在MySQL中設置了我的數據庫,並且可以使用mysql_connect()連接到它,但是沒有使用過去項目中使用的代碼?真奇怪!

這裏是我使用的代碼...

require_once 'Zend/Registry.php'; 
require_once 'Zend/Db/Adapter/Pdo/Mysql.php'; 

// Set the database connection information 
$params = array('host' =>'localhost', 
       'username' =>'root', 
       'password' =>'12345', 
       'dbname' =>'testdb'); 

// Assign the database connection to the registry 
$db = new Zend_Db_Adapter_Pdo_Mysql($params); 
$db->setFetchMode(Zend_Db::FETCH_OBJ); 
Zend_Registry::set('db',$db); 

請記住上面的參數很好地工作,當我使用mysql_connect()函數,但我得到一個控制器異常錯誤,每當我嘗試使用上面的?

+0

什麼版本的ZF?看@ Zend_Db_Factory。 – Aknosis

+0

它的版本是1.12.0 - 很確定我試過Zend_Db_Factory,但會再試一次。謝謝 – smclintock

+0

如果沒有解決,什麼是控制器異常錯誤?你可以陷阱和顯示? – Robbie

回答

1

嘗試使用的application.ini方法:

resources.db.adapter = "pdo_mysql" 
resources.db.params.host = "localhost" 
resources.db.params.username = "root" 
resources.db.params.password = "12345" 
resources.db.params.dbname = "testdb" 


然後,如果你想在引導連接,你可以做手工(引導最終將自己稱呼它):

$this->bootstrap('db'); 


然後訪問$ DB適配器:

$db = Zend_Db_Table::getDefaultAdapter(); 



無論如何,如果你喜歡你的方法,給我們發送更多有關異常的數據。