#php #codeigniter #sqlsrv
#php #codeigniter #sqlsrv
Вопрос:
У меня возникла проблема с codeigniter для возврата результирующего набора. Когда я избегаю 1 столбца в моем выборе, результат правильный. Но когда я хочу включить столбец (описание), я получаю сообщение об ошибке, и мой результирующий набор поврежден. Кто-нибудь знает, как решить эту проблему. В столбце есть записи soms с символами типа amp;,’/ … Я мог бы подумать, что это вызывает проблему.
некоторые подробности:
'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. добавьте также свой код
2. Добавьте код .. в противном случае люди не смогут вам помочь
3. Добавьте код. Люди не могут помочь вам без кода
4. Извините, я теперь добавил код. Спасибо за вашу помощь.
Ответ №1:
используйте этот:
return $this->db->get('table_name')->result_array();
Комментарии:
1. Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для читателей в будущем, и эти люди могут не знать причин вашего предложения кода.
2. Я добавил код выше, result_array() не работает.
3. да, но я обнаружил кое-что странное… если я изменю длину полей на более короткие поля, такие как varchar(500) -> varchar(50), он может запросить результаты. но когда я пытаюсь получить все столбцы, он снова выдает мне эту ошибку. Это как-то связано с длиной или со многими данными…
4. затем измените свой тип данных на text вместо varchar