2016-05-30 50 views
0
public function email_check() 
    { 
     $this->form_validation->set_message('email_check', 'The %s '.$this->input->post('usr_email').' is already exist'); 
     $this->db->where('usr_email', $this->input->post('usr_email')); 
     $query = $this->db->get('users'); 
     if ($query->num_rows()>0) 
      return false; 
     else 
      return true;  


    } 

(!) Fatal error: Call to a member function num_rows() on a non-object in C:\wamp\www\application\controllers\users.php on line 264致命錯誤呼叫號碼功能節數行

調用堆棧

# Time Memory Function Location 
1 0.0005 266584 {main}() ..\index.php:0 
2 0.0015 324704 require_once('C:\wamp\www\\system\core\CodeIgniter.php') ..\index.php:202 
3 0.0440 4030256 call_user_func_array:{C:\wamp\www/\system\core\CodeIgniter.php:359} () ..\CodeIgniter.php:359 
4 0.0440 4031120 Users->save_registration() ..\CodeIgniter.php:359 
5 0.0440 4044000 CI_Form_validation->run() ..\users.php:302 
6 0.0450 4056264 CI_Form_validation->_execute() ..\Form_validation.php:341 
7 0.0450 4057600 Users->email_check() ..\Form_validation.php:593 
+0

檢查這個http://stackoverflow.com/questions/20751899/call-to-a-member-function-num-rows-on-a-non-object –

+0

@kiran這有沒有關係你的鏈接,因爲他根本不使用結果... – sintakonte

+1

你能解釋一下嗎? –

回答

0

如果你想爲唯一的電子郵件地址做驗證。做以下事情

$this->form_validation->set_rules('email', 'email', 'required|is_unique[tablename.fieldname]'); 
+0

你甚至讀過這個問題嗎? – sintakonte

+0

你可以通過追加'@'來隱藏你的命運錯誤。 @ $ query = $ this-> db-> get('users');如果(@ $ query-> num_rows()> 0) –

0

我認爲你做錯了。 試試這個。

$result = $this->db->where('usr_email', $this->input->post('usr_email')) 
        ->get('users') 
        ->num_rows(); 

if($result > 0) 
{ 
    return false; // value you want true or false 
} 
else 
{ 
    return true; // value you want true or false 
}