调用数组上的成员函数num_rows()如何解决此错误

时间:2020-01-08 11:51:21

标签: php codeigniter

我收到错误消息:

在数组上调用成员函数num_rows()

我的控制器是

 function index() {
        $config=[
            'base_url' => base_url('Users'),
            'per_page' =>5,
            'total_rows' => $this->Useraccount_mod->num_row(),
        ];
        $this->pagination->initialize($config);
        if ($this->input->post('submit') != NULL) {
            $data = array();
            $data['username'] = $this->input->post('username');
            $data['name'] = $this->input->post('name');
            $result['data'] = $this->Useraccount_mod->getUser_list($data,$config['per_page'], $this->uri->segment(2));
            $data['userlist'] = $result['data'];
            $this->load->view('Useraccount/Userlist', $data);
        } else {
            $data = array();

            $result['data'] = $this->Useraccount_mod->getUser_list($data,$config['per_page'], $this->uri->segment(2));
            $data['userlist'] = $result['data'];

            $this->load->view('Useraccount/Userlist', $data);
        }
    }

模型是

 function getUser_list($data, $limit, $offset) {
        if ($data) {
            $this->db->like('username', $data['username']);
            $this->db->like('name', $data['name']);
            $query = $this->db->get('users')->limit($limit, $offset)->get();
            return $query->result_array();
        } else {
            $query = $this->db->get("users")->limit($limit, $offset)->get();
            return $query->result_array();
        }
    }

    function num_row() {
        $query = $this->db->get("users");
        $total_rows= $query->result_array()->num_rows();
        print_r($total_rows);

         return $total_rows;
    }

遇到PHP错误严重性:错误

消息:在数组上调用成员函数num_rows()

文件名:models / Useraccount_mod.php

行号:41

回溯:

3 个答案:

答案 0 :(得分:1)

$total_rows= $query->result_array()->num_rows();是中断的地方。

result_array()听起来很像它返回一个数组。

因此,重构:

$total_rows = count($query->result_array());

答案 1 :(得分:1)

更改

$total_rows= $query->result_array()->num_rows();

$total_rows= count($query->result_array());

$query->result_array()返回一个数组,您可以使用count

获得大小

答案 2 :(得分:0)

$total_rows= $query->num_rows();