我将使用zend framework 2实现登录功能。
我的代码如下。
$dbAdapter = new DbAdapter(array(
'driver' => 'Mysqli',
'database' => 'db',
'username' => 'root',
'password' => 'password'
));
$authAdapter = new AuthAdapter($dbAdapter);
$authAdapter
->setTableName('admin_users')
->setIdentityColumn('user_name')
->setCredentialColumn('password')
;
$authAdapter
->setIdentity($username)
->setCredential($password)
;
$result = $authAdapter->authenticate();
它提供如下错误消息。
The supplied parameters to DbTable failed to produce a valid sql statement, please check table and column names for validity.
我检查了数据库配置和列名。但他们是对的。任何人都可以给我一个线索来检查这个。
感谢。
答案 0 :(得分:3)
没有必要重新发明轮子并自己挣扎。 ZF2在创建时考虑了模块化,因此可以编写用于此类事情的插件模块。
ZF-Commons网站上已有一些此类模块可用。你要找的是ZfcUser。只需按照说明安装和使用即可。甚至还有一个由该模块的作者编写的优秀教程,它将逐步引导您完成整个过程。 http://blog.evan.pro/getting-started-with-the-zf2-skeleton-and-zfcuser
还有一个很好的how-to页面,可以告诉您如何修改它以供自己使用。