首頁 > 後端開發 > php教程 > ci框架$this->db->where得不到结果

ci框架$this->db->where得不到结果

WBOY
發布: 2016-06-06 20:14:16
原創
1299 人瀏覽過

用ci写登录代码,用$this->db->where查询数据库验证账号密码时得到的总是空的返回值
以下是控制器中验证的函数代码:

<code>public function validate_credentials(){
        $this->load->model('Bookmark_models');
        $query = $this->Bookmark_models->where();
        
        if ($query){
            $data = array('username' => $this->input->post('username'),
                          'is_loggrd_in' => true);
            $this->session->set_userdata($data);
            $this->load->view('logged_in_area');
        }else {
            $this->login();
        }
</code>
登入後複製
登入後複製

以下是模型中的代码:

<code>public function where(){
        $this->db->where('username',$this->input->post('username'));
        $this->db->where('passwd',sha1($this->input->post('password')));
        $query = $this->db->get('user');
        
        if ($query->num_rows == 1){
            return true;
        }</code>
登入後複製
登入後複製

回复内容:

用ci写登录代码,用$this->db->where查询数据库验证账号密码时得到的总是空的返回值
以下是控制器中验证的函数代码:

<code>public function validate_credentials(){
        $this->load->model('Bookmark_models');
        $query = $this->Bookmark_models->where();
        
        if ($query){
            $data = array('username' => $this->input->post('username'),
                          'is_loggrd_in' => true);
            $this->session->set_userdata($data);
            $this->load->view('logged_in_area');
        }else {
            $this->login();
        }
</code>
登入後複製
登入後複製

以下是模型中的代码:

<code>public function where(){
        $this->db->where('username',$this->input->post('username'));
        $this->db->where('passwd',sha1($this->input->post('password')));
        $query = $this->db->get('user');
        
        if ($query->num_rows == 1){
            return true;
        }</code>
登入後複製
登入後複製

echo $this->db->last_query();输出原生sql语句到数据库中执行看有没有结果.
num_rows()是个方法而不是属性
另外也不建议你这么写,模型中就不建议做控制器的事了

<code>public function login($user, $password)
    {
        return $this->db->where('username', $user)
            ->where('password', sha1($password))
            ->get('user')
            ->row();
    }
</code>
登入後複製
<code>public function where(){
        $this->db->where('username',$this->input->post('username'));
        $this->db->where('passwd',sha1($this->input->post('password')));
        $query = $this->db->get('user');
        echo $this->db->last_query();exit();
        if ($query->num_rows() ){
            return true;
        }
        return false;</code>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板