用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4163|回复: 1
收起左侧

关于$result->result_array();的问题

[复制链接]
发表于 2008-9-14 12:44:45 | 显示全部楼层 |阅读模式
请问为什么我一用$result->result_array();
就报错Call to a member function result_array() on a non-object

C:
class Adddomains extends Controller {

    function Adddomains()
    {
        parent::Controller();   
    }
   
    function index()
    {
        $this->load->model('Get_keywords');
        $result    =    $this->Get_keywords->get_mkeys();
        $data['keywords']    =    $result->result_array();
        
        $this->load->view('adddomains',$data);        

    }
}

M:
    function get_mkeys()
    {
            $this->load->database();
        $query = $this->db->get('mkey');
        return $query->result();
    }
发表于 2008-9-15 12:03:46 | 显示全部楼层
return $query->result();
模型里面返回了一个对象的结果集

当你执行$this->Get_keywords->get_mkeys(); 的时候已经得到数据了...
在控制器里面 $result->result_array(); 执行这个方法的时候 ..相当于对查询结果集执行result()出来的数据再次执行result() 其实是不存在的...

如果你想要数组方式的结果集 应该在 模型里面 使用
return $query->result_array();

调用的时候
$data['keywords']    =    $this->Get_keywords->get_mkeys();
这样 $data['keywords'] 就会被赋予一个数组的结果集

可以用 var_dump( $data['keywords'] ); 打印出来看..

本版积分规则