$query 的 return 总是不对
user的modelfunction userexist($tel)
{
$query = $this->db->query("select * from User where tel='".$tel."'");
if ($query) {
return TRUE;
}
return FALSE;
}
在 ake 的 controller 中调用
$tel = "13112341234";
$this->load->model('user_model');
$select_query = $this->user_model->userexist($tel);
想得到的结果是检查该手机号码在数据库中是否存在,存在则返回1,错误则返回0, 但现在遇到的问题是,不管是否存在这个电话号码,返回都是 1,请问我写错的地方是?
自己搞定。 你这样写法,是不是无论如何都会返回false啊,因为一步步执行下来,总会执行到 return false, bayniwffg 发表于 2016-2-2 11:22
你这样写法,是不是无论如何都会返回false啊,因为一步步执行下来,总会执行到 return false, ...
...
这样写没错,不可能都会返回 false for 发表于 2016-2-2 11:35
...
这样写没错,不可能都会返回 false
你把return FALSE; 屏蔽了试试,看会不会总是返回都是 1 query返回的是执行结果,SQL是可以正常执行的,所以会返回TRUE,你需要的是执行SQL后的对象个数 我也感觉楼上说的有道理,可以使用count_all_results函数:
public function userexist($tel)
{
$this->db->where(array('tel'=>$tel));
$result = $this->db->count_all_results('User');
return $result;
}
你应该判断$query->num_rows()啊不是直接判断$query 同意楼上
页:
[1]