我从Zend框架开始,我想使用Zend_Auth_Adapter_DbTable来验证我的用户……
我看了一下文档,它们看起来非常简单,但我得到了一个错误。
下面是我的代码片段:
$adapter = new Zend_Auth_Adapter_DbTable($this->_dbAdapter, 'users', 'username', 'password', 'MD5(?)');我有一个'users‘表,其中包含'username’和'password‘列,但每次我运行
$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?
谢谢
发布于 2009-12-02 19:55:12
看起来是这样的。要在SQLite中使用MD5(),您需要Tcllib和Trf。
https://stackoverflow.com/questions/1832073
复制相似问题