Codeigniter:在坏列引起的非对象上调用成员函数result_array()?

时间:2016-10-07 16:33:09

标签: php codeigniter sqlsrv

我在codeigniter中遇到了返回结果集的问题。当我在选择中避免1列时,结果是正确的。 但是当我想要包含列(描述)时,我得到错误,我的结果集已损坏。任何人都知道如何解决这个问题。该列有soms记录,其中包含&,' / ......我可能会认为这会导致问题。

一些细节:

'char_set' => 'UTF-8',
'dbcollat' => 'Latin1_General_100_CS_AS',

我已经尝试更改这些参数但没有成功。

编辑代码补充:

get和get_by函数。

public function get($id = NULL, $single = FALSE) {

    if($id != NULL){
        $this->db->where($this->_primary_key, $id);
        $method = 'row';
    }
    elseif($single == TRUE){
        $method = 'row';
    }
    else{
        $method = 'result';
    }

    if($_order_by != ''){
        if(!count($this->db->ar_orderby)){
            $this->db->order_by($this->_order_by);
        }

    }
    //$query = $this->db->query("Select Description from items WHERE Company = 'MINITFR'");

   // $array = $query->result_array();
   // return 'test';
   // var_dump($this->db->get_compiled_select($this->_table_name));
    return $this->db->get($this->_table_name)->result_array();
  // return $this->db->get($this->_table_name)->$method();
}

public function get_by($where, $single = FALSE) {
    $this->db->where($where);   
    return $this->get(NULL,$single);
}
控制器中的

功能:

public function show_items(){

    $this->load->model('item_m');
    $this->data['ajax_req'] = TRUE;
    $where = "Company = '".$this->session->userdata('company')."'";
    $this->data['item_list'] = $this->item_m->get_by($where,FALSE);
    $this->load->view('pages/details/components/item_list', $this->data);
}

1 个答案:

答案 0 :(得分:0)

使用这个:

return $this->db->get('table_name')->result_array();