cakephp身份验证和用户注册已停止工作
我有以下代码:cakephp身份验证和用户注册已停止工作,cakephp,authentication,Cakephp,Authentication,我有以下代码: public function check() { $result = $this->User->field('id', array('username' => 'alek@lol.pl')); debug($result); } 在我的用户表中,我有以下记录: NSERT INTO `users` (`id`, `username`, `password`, `role`, `c
public function check()
{
$result = $this->User->field('id', array('username' => 'alek@lol.pl'));
debug($result);
}
在我的用户表中,我有以下记录:
NSERT INTO `users` (`id`, `username`, `password`, `role`, `created`, `modified`) VALUES
('5', 'alek@lol.pl', '64c918dd65b67b455248c2498bcc5421a66b68a6', 'member', '2012-04-24 10:56:37', '2012-04-24 10:56:37');
控制器方法检查的结果为:
false
sql查询是:
Nr Query Error Affected Num. rows Took (ms)
1 SELECT `User`.`id` FROM `freebooks`.`users` AS `User` WHERE `username` = 'alek@lol.pl' LIMIT 1 1 1 0
所以SQL返回一行,但蛋糕中的结果是“false”-怎么了?有东西坏了吗
当我在PhpMyAdmin中执行此SQL语句时,它正确地返回id=5
当我把一行改成
$result = $this->User->find('all');
这张照片
true
这是不可能的
$this->User->field('id', array('username', $this->request->data['User']['username']));
您可以这样检查:
if(!empty($this->User->field('id', array('username', $this->request->data['User']['username']));)) {
// code
}
或
$id = $this->User->field('id', array('username', $this->request->data['User']['username']));
$this->User->id = $id;
if($this->User->exists()) {
// code
}
它是什么?它是如何工作的???当我执行我的代码时,我甚至看到这个findByUser发现了1行的蛋糕sql信息!怎么可能?@user606521读取到它不工作-它仍然返回“false”!这很奇怪-我可以看到MySQL查询(由cake提供):1从
freebooks
users
中选择User
作为User
,其中username
='alek@lol.pl'LIMIT 1-num rows=1这意味着它找到了这个记录-但它返回false…@user606521它是否返回idOk-已解决-这是我的错误-我在模型中有一些后续发现这不太好:)谢谢