Codeigniter - 如果数据库查询未返回任何结果,则执行操作

hai*_*ets 6 mysql variables codeigniter return

如果我的查询没有返回结果,我怎么能返回'找不到数据'的值?

这是我的代码:

    function getTerms($letter) {


    $this->db->select('term, definition');
    $this->db->from('glossary');
    $this->db->where(array('letter' => $letter));

    $query = $this->db->get();

    foreach ($query->result() as $row) {
        $data[] = array(
            'term' => $row->term,
            'definition' => $row->definition
        );
    }

    return $data;
}
Run Code Online (Sandbox Code Playgroud)

它当前返回$ data变量,即使查询没有返回给我php错误的结果.如何在返回$ data数组之前检查是否有结果.

Col*_*ock 13

只需检查查询至少返回一行:

if ($query->num_rows() > 0) {
    // query returned results
} else {
    // query returned no results
}
Run Code Online (Sandbox Code Playgroud)

阅读文档中的更多内容


Wes*_*rch 3

当前,即使查询没有返回结果,它也会返回 $data 变量,这会给我带来 php 错误。

初始化您想要构建的数组是一个好习惯:

$data = array();
// Loop through possible results, adding to $data
Run Code Online (Sandbox Code Playgroud)

如果没有结果,您将返回一个空数组,然后在控制器中检查它。

这样,至少定义了变量并且您不会收到通知。