在非对象上调用成员函数count()

时间:2013-10-31 10:46:57

标签: php symfony-1.4

我在用户名或密码错误时收到此错误。正确的用户名和密码运行成功。 在....中的非对象上调用成员函数count()

我的代码是

public function executeLogin(sfWebRequest $request)
{
    $this->form = new loginForm();

    if ($request->isMethod('post'))
    {
        $this->form->bind($request->getParameter('login'));
        if ($this->form->isValid())
        {
            $unm=$this->form->getValue('username');
            $pwd=$this->form->getValue('password');
            $q = Doctrine_Query::create()
            ->select('id')
            ->from('login')
            ->andWhere('username = ?', $unm)
            ->andWhere('password = ?', $pwd);
            $q->execute();
            $result = $q->fetchOne();
            if ($result->count() > 0) 
            {            
                $this->getUser()->setAuthenticated(true);
                $this->getUser()->addCredential('user');
                $this->redirect('user/index');
            } 
            else 
            {
                $this->redirect('user/login');
            }   
        }
    }
}

1 个答案:

答案 0 :(得分:2)

$ result value具有NULL值。你应该先检查一下。让我们改变条件如下:

if ($result && $result->count() > 0) {...}

甚至

if ($result) {...}