Codeigniter:在由坏列引起的非对象上调用成员函数 result_array()?
Codeigniter: Call to a member function result_array() on a non-object caused by bad column?
我在 codeigniter 中遇到 return 结果集的问题。当我在 select 中避开 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);
}
使用这个:
return $this->db->get('table_name')->result_array();
我在 codeigniter 中遇到 return 结果集的问题。当我在 select 中避开 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);
}
使用这个:
return $this->db->get('table_name')->result_array();