我正在尝试使用多个“喜欢”来查找多于一列的匹配项.
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);
第一个没有任何反应.第二个只执行一个,在这种情况下第一个执行.我不能同时工作.
任何帮助将不胜感激,
麦克风
解决方法:
or_like将在两个喜欢之间产生OR.您可以传递一个数组,使其喜欢在它们之间放置一个AND.
您是否尝试过:
$this->db->like(array('sender' => $k, 'msg' => $k));
标签:codeigniter,mysql,php
来源: https://codeday.me/bug/20191029/1961423.html