Php Codeigniter$此->;db->;哪里不工作

Php Codeigniter$此->;db->;哪里不工作,php,mysql,database,codeigniter,where,Php,Mysql,Database,Codeigniter,Where,我试图用where语句获得一篇帖子。运行此代码时,我没有收到任何错误。但在我看来,当我尝试获取$query->result()->bodyPHP时,我在尝试获取非对象的属性时出现了一个错误。,因此我运行了print\r($query),这就是它给我的结果: $this->db->from('posts'); $this->db->where('id',$this->uri->segment(3)); $data['query'] = $this->db-

我试图用where语句获得一篇帖子。运行此代码时,我没有收到任何错误。但在我看来,当我尝试获取
$query->result()->body
PHP时,我在尝试获取非对象的属性时出现了一个错误
,因此我运行了
print\r($query)
,这就是它给我的结果:

$this->db->from('posts');
$this->db->where('id',$this->uri->segment(3));
$data['query'] = $this->db->get();
我不知道为什么它不能从数据库中获取我的特定帖子。我知道我的数据库处于工作状态。我在我的网站的其他地方使用它。我还在我的网站上的其他地方使用
$this->db->where()
,效果非常好。我还尝试插入帖子的id,而不是
$this->uri->segment(3)
,我也遇到了同样的问题。我做错了什么?

result()
当您从数据库中选择多行时,应使用
row()

控制器使用中

(
    [conn_id] => Resource id #27
    [result_id] => Resource id #32
    [result_array] => Array
        (
        )

    [result_object] => Array
        (
        )

    [custom_result_object] => Array
        (
        )

    [current_row] => 0
    [num_rows] => 0
    [row_data] => 
)
然后在视野中

$data['query'] = $this->db->get()->row();
我强烈建议您使用
$data['post']
$post->body
而不是
$query->body
。当您在一个页面上有更多查询时,您的视图将变得混乱

$query->body