我在codeiginter中运行以下查询,我想从数据库返回数据,但我得到一个空白数组作为响应。我尝试调试此问题表明模型的返回值可能是问题。我需要额外的一双眼睛,所以如果有人能帮助我让我知道。
模型
function test($term)
{
$sql = "select description from category where title = '$term'";
$query = $this->db->query($sql);
return $query->result();
}
控制器
function test()
{
$this->load->model('test');
$term = $this->input->post('term',TRUE);
$rows = $this->test->test($term);
echo json_encode($rows);
}
答案 0 :(得分:0)
您的代码看起来正确...尝试打印最后一个查询并查看
<强>控制器强>
function test()
{
$this->load->model('test');
$term = $this->input->post('term',TRUE);
$rows = $this->test->test($term);
echo $this->db->last_query();exit; //this gives you the last query that was made.
echo json_encode($rows);
}
检查发布的值是否正确...你甚至可以尝试在mysql中运行它,看看这是否返回任何行......
答案 1 :(得分:0)
使用echo $this->db->last_query();
并让您查询并使用您的mysql编辑器
答案 2 :(得分:0)
我注意到运行echo $ this-&gt; db-&gt; last_query(); $ term的值有一个前导空格,导致查询返回null。通过添加$ term = trim($ term,“”);我能够删除前导空格并获得正确的结果。
$this->load->model('tp_model');
$term = $this->input->post('term',TRUE);
$term = trim($term, " ");
$rows = $this->tp_model->test($term);