我正在使用 CodeIgniter,我想从数据库中的表中获取一些数据。
在我的模型中,我有这个功能:
public function fetch_cours($limit, $start, $element) {
$id_element = $this->db->from('element')
->where('name',$element)
->limit(1)
->get()
->result();
$query = $this->db->from('cour')
->where('id_element',(int) $id_element[0]->id)
->limit($limit, $start)
->get()
->result();
var_dump($query);
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
我希望此函数返回 cour
表中的一些记录。
在我的 Controller 中我有这一行:
$cours = $this->cours_m->fetch_cours(10,0,'Programmation Orientée Objet (Java)');
当我调用我的 Controller 时,我收到这条消息:
第 38 行是:if ($query->num_rows() > 0) {
所以我做了一个 var_dump($query),这是输出:
有什么问题吗?我该如何解决?
最佳答案
当您创建 $query
变量时,您已经添加了一个 ->result()
。
所以 $query
是一个行对象数组。
您应该将 if
更改为:
if (count($query) > 0) {
例如,可能会将变量重命名为 $results
。
关于php - 在非对象上调用成员函数 num_rows(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751899/