num_row()处未定义的成员函数错误。在codeigniter框架中

时间:2016-08-31 08:06:44

标签: php codeigniter

num_rows()处的错误为未定义的成员函数。用于在codeigniter Framework中按降序显示数据。 我试过这段代码:

$this->db->select('*');
    $this->db->from('albums');
    $result = $this->db->order_by('album_id', 'desc');
    //$result = $this->db->get('albums');
    if($result->num_rows()  > 0)
    {
        return $result;
    }

为了以降序获取和显示行,我使用了上面的代码。但我在num_rows() as undefined function收到以下错误。如何按降序打印?

3 个答案:

答案 0 :(得分:1)

在获得行数之前,您需要执行get()

所以你的代码应该是这样的,

$this->db->select('*');
$this->db->from('albums');
$this->db->order_by('album_id', 'desc');
$result = $this->db->get(); // add this line
if($result->num_rows()  > 0)
{
    return $result;
}

get()函数运行选择查询。

答案 1 :(得分:1)

将您的代码更改为:

$this->db->select('*');
$this->db->from('albums');
$result = $this->db->order_by('album_id', 'desc');
$result = $this->db->get('albums')->row();
if($result->num_rows()  > 0)
{
    return $result;
}

答案 2 :(得分:1)

使用此代码

$this ->db->select('*');
$this ->db->from('albums');
$this->db->order_by('album_id', 'desc');
$query = $this->db->get();
if($query->num_rows() > 0)
{
    return $query->result();
}

如果你需要帮助打我:)

修改

你需要

$query->result();

要将其作为对象返回,但您希望可以使用

$query->result_array();

要将其作为数组返回,请不要按原样返回$ query:)