Codeigniter查询问题

时间:2013-01-11 05:22:14

标签: codeigniter model

我在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);
}

3 个答案:

答案 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);