在codeigniter中的非对象上调用成员函数num_rows()

时间:2017-02-16 22:45:45

标签: php codeigniter

我有一个问题,当我想从我的控制器运行一个函数时,它说"调用一个非对象的成员函数num_rows()"。

这是我的web.php控制器中名为category的函数

public function categori($id){
    $cek = $this->mymodel->GetKategori("where kode_kategori = '$id'");
    if ($cek->num_rows() > 0) {
        $data = array(
        "produk_populers" => $this->mymodel->GetProduk("where kode_kategori = '$id'")->result_array()
        );

        $comp = array(
            "header" => $this->html_header(),
            "navbar" => $this->html_navbar(),
            "produk_populer" => $this->load->view("produk_populer",$data,true),
            "kategori" => $this->html_kategori(),
            "footer" => $this->html_footer(),
        );
        $this->load->view("index",$comp);

    }else{
        show_404(); 

  }

} 

这个模型

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mymodel extends CI_Model {
public function GetProduk($where=""){
    $data = $this->db->query('select * from produk'.$where);
    return $data;

}

public function GetKategori($where=""){
    $data = $this->db->query('select * from kategori '.$where);
    return $data -> result_array();
}

}

任何人都可以告诉我它有什么问题吗?我很喜欢这种东西..谢谢

1 个答案:

答案 0 :(得分:2)

表示从

返回的值

$cek = $this->mymodel->GetKategori("where kode_kategori = '$id'");

不是对象。因此,方法num_rows()在该值上下文中不存在。

在调用此方法之前,请尝试使用var_dump($cek)并查看输出结果。