1

我从 Zend 框架开始,我想使用 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

1 回答 1

4

看起来像。要MD5()在 SQLite 中使用,您需要 Tcllib 和 Trf。

于 2009-12-02T11:55:12.490 回答