[英]Code Igniter multiple where clauses are not working
當頁面加載性別= 3,單擊母按鈕性別= 1以及單擊雄按鈕性別= 2時,代碼點火器模型返回json_encode
結果。 現在,我想在if條件中添加另一個where語句。 看看性別是否為3(如果有條件)。
function get_data_all($gender, $age_min, $age_max) { $counter = 0; $this->db->select('*'); if($gender == 1){ $this->db->where('gender', 'F'); //working $counter++; } elseif($gender == 2){ $this->db->where('gender', 'M'); //working $counter++; } elseif($gender == 3){ $names = array('F', 'M'); $this->db->where_in('gender', $names); //working $this->db->where('age>=', 12); //not working $this->db->where('age<=', 18); //not working $counter++; } else{ redirect(base_url()); } $query = $this->db->get('sudent_details'); if (($query->num_rows() > 0) && ($counter > 0)){ echo(json_encode($query->result())); $counter = 0; } else { return false; } }
在列名和比較運算符中添加空格
$this->db->where('age >= ', 12);
$this->db->where('age <= ', 18);
您需要替換以下幾行:
$this->db->where('age>=', 12); //not working
$this->db->where('age<=', 18); //not working
至:
$this->db->where('age','>=',12);
$this->db->where('age','<=',18);
要么:
$this->db->where('age >= 12',FASLE,FALSE);
$this->db->where('age <= 18',FASLE,FALSE);
要么:
$this->db->where('age>=', 12,FALSE);
$this->db->where('age<=', 18,FALSE);
它應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.