CodeIgniter框架实现搜索功能无返回结果问题排查求助
搜索功能无返回结果排查步骤
- 第一步:校验请求参数是否正常获取
控制器中接收的是POST提交的phone1字段,先在控制器获取$key后临时增加调试代码验证参数:
需确认前端提交表单的请求方式为POST,表单内搜索输入框的$key = $this->input->post('phone1',TRUE); // 新增调试代码,提交搜索后查看是否输出了正确的搜索关键词 var_dump($key);exit;name属性值为phone1,无拼写错误。 - 第二步:验证数据库查询逻辑是否正确
- 先确认
advertisement表真实存在,表内phone1字段拼写正确、无大小写偏差,且表内确实存在包含测试搜索关键词的记录 - 在模型查询后临时增加打印SQL的调试代码,拿到执行语句后直接放到数据库中运行,确认是否能返回结果:
public function searching($key){ $this->db->like('phone1',$key); $query = $this->db->get('advertisement'); // 新增调试代码,输出最终执行的SQL语句 echo $this->db->last_query();exit; return $query->result(); }- 若存在之前的查询构造器条件未清空的情况,可在查询前增加重置逻辑避免多余条件干扰:
$this->db->reset_query(); $this->db->like('phone1',$key); - 先确认
- 第三步:校验返回结果的处理逻辑
在控制器加载视图前临时打印查询结果,确认是查询本身无返回,还是视图渲染遍历出错:$data['ppp'] = $this->admin_model->searching($key); // 新增调试代码,查看查询返回的结果集 var_dump($data['ppp']);exit; $this->load->view('members/search_result',$data);
内容的提问来源于stack exchange,提问作者Steve
相关产品推荐
相关产品推荐

