2016-10-07 7 views
0

У меня возникла проблема с codeigniter, чтобы вернуть результирующий набор. Когда я избегаю 1 столбца в моем выборе, результат будет правильным. Но когда я хочу включить столбец (описание), тогда я получу ошибку, и мой результирующий набор поврежден. Кто-нибудь знает, как решить эту проблему. В столбце есть записи сомов с такими символами, как &, '/ ... Я мог бы подумать, что это вызывает проблему.Codeigniter: Вызов функции-члена result_array() для не-объекта, вызванного плохим столбцом?

некоторые детали:

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

Я уже пытался изменить эти параметры без успеха.

EDIT код добавлен:

получить и 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

добавить свой код, а –

+1

Добавьте code..otherwise это не возможно для людей, чтобы помочь вам –

+0

Добавить код. Это не возможно для людей, чтобы помочь вам без кода –

ответ

0

использование этого один:

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

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – andreas

+0

Я добавил код выше result_array() не работает. –

+0

- это то же самое, что и раньше? –