我正在尝试使用多个“赞”在多个列中查找匹配项。
PHP & MySQL:
$area = $this->session->userdata('area');
if($area == 'inbox'){
$this->db->where('receiver',$user);
$this->db->where('receiver_deleted !=','yes');
}elseif($area == 'sent'){
$this->db->where('sender',$user);
$this->db->where('sender_deleted !=','yes');
}
$this->db->like('sender',$k);
$this->db->or_like('msg',$k);
$this->db->from('messages');
$this->db->join('users','users.username = messages.sender','inner');
$this->db->order_by('read','no');
$sql = $this->db->get();
if($sql->num_rows > 0){
return $sql->result();
}else{
echo "failed!";
}
我也试过:
$this->db->like('sender',$k);
$this->db->like('msg',$k);
第一个没有任何反应。第二个只有一个被执行,在这种情况下是第一个。我无法让两者同时工作。
任何帮助将不胜感激, 迈克
最佳答案
为此,您应该使用带 where 子句的分组。
$area = $this->session->userdata('area');
if($area == 'inbox'){
$this->db->where('receiver',$user);
$this->db->where('receiver_deleted !=','yes');
}elseif($area == 'sent'){
$this->db->where('sender',$user);
$this->db->where('sender_deleted !=','yes');
}
$this->db->group_start(); //group start
$this->db->like('sender',$k);
$this->db->or_like('msg',$k);
$this->db->group_end(); //group ed
关于php - 多个 Like 子句 CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254305/