如果我的查询没有返回结果,我怎么能返回'找不到数据'的值?
这是我的代码:
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;
}
它当前返回$ data变量,即使查询没有返回给我php错误的结果。如何在返回$ data数组之前检查是否有结果。
答案 0 :(得分:13)
只需检查查询至少返回一行:
if ($query->num_rows() > 0) {
// query returned results
} else {
// query returned no results
}
了解更多in the docs
答案 1 :(得分:3)
它当前返回$ data变量,即使查询没有返回给我php错误的结果。
初始化您打算构建的数组是一个好习惯:
$data = array();
// Loop through possible results, adding to $data
如果没有结果,您将返回一个空数组,然后在控制器中检查它。
这样,至少定义了变量,你就不会收到通知。
答案 2 :(得分:2)
如何为$data
提供初始空数组值
只需加上
$data = array();
之前foreach
答案 3 :(得分:1)
<?php
return is_array($data) ? $data : array();
}