【问题标题】:Codeigniter : Fatal error: Call to a member function num_rows() on a non-objectCodeigniter:致命错误:在非对象上调用成员函数 num_rows()
【发布时间】:2015-09-25 11:26:07
【问题描述】:

我在 Codeigniter 的脚本链接中遇到问题。我有这个网址:-

localhost/index.php/admin/orders/ 它让我得到所有产品订单,但是当我在链接末尾添加任何字符时:

localhost/index.php/admin/orders/ggg 用户看到一些错误消息。

Fatal error: Call to a member function num_rows() on a non-object in 

如何保存我的链接,并隐藏此消息。

我的控制器:-

function orders()
{
    $data['orders'] = $this->admin_model->getOrderList();
    $data['total']  = $this->admin_model->getOrderCount();
    $this->load->view('admin/orders',$data);
}

我的模型:-

 function getOrderList()
{
    $page = $this->uri->segment(3);
    if($page=='')
        $page=1;

    $start = ($page-1)*RECORDS_PER_PAGE;
    $end = RECORDS_PER_PAGE;

    $this->db->select("*");
    $this->db->limit($end,$start);

    $this->db->order_by('order_id','DESC');
    $result = $this->db->get('wg_orders');
    if($result->num_rows()>0)
    return $result->result();
    else
    return 'empty';
}

【问题讨论】:

  • 包含您的完整错误信息。
  • 不应该。on a non-object in 后面一定有行号和位置。
  • 但是使用$page=intval($this->uri->segment(3);) 因为你得到字符串ggg 作为页码是错误的并且你得到查询错误。
  • 那我该怎么办。在这种情况下,我需要显示错误 404
  • 检查$this->uri->segment(3);是否不是号码呼叫show_404();

标签: php codeigniter


【解决方案1】:

你也可以使用count()函数。

在控制器中

    function orders()
    {
        $data['orders'] = $this->admin_model->getOrderList();
        $data['total']  = $this->admin_model->getOrderCount();
        $this->load->view('admin/orders',$data);
    }

在模型中

    function getOrderList()
    {
        $page = $this->uri->segment(3);
        if($page=='')
            $page=1;

        $start = ($page-1)*RECORDS_PER_PAGE;
        $end = RECORDS_PER_PAGE;

        $query = $this->db->query("SELECT * FROM table_name WHERE (your_argument) LIMIT $end, $start ORDER BY order_id DESC ");
        $result = $query->result_array();
        $count = count($result);

        if($count>0)
        {
            return $result;
        }
        else
        {
            return 'empty';
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多