Php where()在codeigniter数据库中不工作
我编写了这段代码,用于在表中搜索show=1的帖子中的字符串。 但当我在“show”处运行这段代码时,1不受影响,从数据库返回show=0的行,这是什么问题Php where()在codeigniter数据库中不工作,php,codeigniter,Php,Codeigniter,我编写了这段代码,用于在表中搜索show=1的帖子中的字符串。 但当我在“show”处运行这段代码时,1不受影响,从数据库返回show=0的行,这是什么问题 public function json_search($str) { $out['Threadt'] = $this->db ->select('id') ->from('posts') ->like('title',$str)
public function json_search($str)
{
$out['Threadt'] = $this->db
->select('id')
->from('posts')
->like('title',$str)
->or_like('story',$str)
->or_like('description',$str)
->or_like('full-story',$str)
->where('date <',time())
->where('show',1)
->get()
->result_array();
}
你应该试试这个,这个应该有用:
function json_search($str)
{
$where = "( story like '%".$str."%' OR title like '%".$str."%' OR description like '%".$str."%' OR full-story like '%".$str."%' )";
$out['Threadt'] = $this->db
->select('id')
->from('posts')
/*->like('title',$str)
->or_like('story',$str)
->or_like('description',$str)
->or_like('full-story',$str)*/
->where( $where, false, false )
->where('date <',time())
->where('show',1)
->get()
->result_array();
}
请参见上面的注释部分,当您像这样使用它时,您是在附加OR子句,这会干扰show子句。尝试用引号包装的show,“1”我尝试使用“1”,但不起作用:乍一看,我觉得一切正常。如果运行$this->db->last\u查询,查询是否正常?