我从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 ???
由于
答案 0 :(得分:4)
看起来像。要在SQLite中使用MD5()
,您需要Tcllib和Trf。