尝试在json编码期间获取非对象错误的属性

时间:2012-07-18 18:55:30

标签: php json codeigniter

这是我想写的一段代码。在这里,我想从数据库中检索数据,将其存储到一个数组中,然后json_ecode它,并设置为输出。但我继续得到这个错误“试图获得非对象的属性”。

这是代码

$data['query'] = $this->db->get('forms');

foreach($data['query'] as $row)
{
    $forms_array[] = array(
        $row->id 
    );
}   

$return=json_encode($forms_array);
$this->output->set_output($return); 

2 个答案:

答案 0 :(得分:0)

您应首先检查您的查询是否实际返回行。其次,您想要访问$data['query']->result()中的foreach

if($data['query']->num_rows() > 0){
    // The query returned rows...
    foreach($data['query']->result() as $row){
        $forms_array[] = array(
            $row->id 
        );
    } 
}

答案 1 :(得分:0)

你应该在foreach之外声明$ forms_array []。