我将此代码用于login_model:
类Login_model扩展了CI_Model {
function __construct(){
parent:: __construct();
}
function check(){
$username = $this->input->post('username',true);
$password = $this->input->post('password',true);
$remember = $this->input->post('remember',true);
/*
$this->db->select('username','username');
$this->db->select('password','password');
$this->db->where('username',"$username");
$this->db->where('password',md5($password));
$this->db->from('user');
$this->db->limit(1);
$is = $this->db->count_all_results();
*/
$user = $this->db->get_where ('user',array('username'=>$username,'password'=>md5($password)));
$is = $user->num_row();
if($is>0){
$id = $user->row(0)->id;
$data_session=array(
'username'=>'$username',
'login'=> true,
'id'=>$id
);
$this->session->set_userdata($data_session);
if($remember == 1){
$login_text= $username.'_isLogin_'. $id;
$this->load->library('encrypt');
$cookie_value = $this->encrypt->encode($login_text,ENCRYPT_KEY);
$data_cookie=array(
'name'=>'Ahmadreza',
'value'=>$cookie_value,
'expire'=>time()+60*60*24*365
);
$this->input->set_cookie($data_cookie);
}
redirect('post/index');
}else{
redirect('login/index');
}
}
}
谢谢。
答案 0 :(得分:4)
是num_rows()
而不是num_row()
替换,
$is = $user->num_row();
与
$is = $user->num_rows();
答案 1 :(得分:1)
Codeigniter中没有任何函数调用num_row();
。
正确的方法是num_rows();
num_rows() Function in Codeigniter
所以最终的Well-form代码是
$is = $user->num_rows();
注意:
并非所有数据库驱动程序都具有获取结果集的总行数的本机方法。在这种情况下,预取所有数据并在结果数组上手动调用count()
以获得相同的结果。
答案 2 :(得分:0)
检查Codeginiter documentaion
其$ user-> num_rows();