2009-12-02 75 views
1

我開始與Zend框架,我想使用Zend_Auth_Adapter_DbTable到我的用戶進行身份驗證...Zend_Auth_Adapter_DbTable來驗證用戶身份

我看了看文檔,這似乎相當直截了當,但我得到的錯誤。

這裏是我的代碼片段:

$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter, 'users', 'username', 'password', 'MD5(?)'); 

我與「用戶名」和「密碼」列的「用戶」表,但每次我運行

$result = $adapter->authenticate(); 

我得到一個應用程序錯誤:

Message: The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity. 

任何人都可以幫助我嗎?我只想要一個基本身份驗證(密碼是使用MD5加密)

奇怪的是,以下的作品...

$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter); $adapter->setTableName('users') ->setIdentityColumn('username') ->setCredentialColumn('password') ->setIdentity($username) ->setCredential(md5($password)); 

,但爲什麼用「setCredentialTreatment」(或者用它作爲第一個代碼段)方法失敗...

是因爲我使用sqlite3而不是mySQL?

感謝

回答

4

看起來它。在SQLite中使用MD5()需要Tcllib和Trf。