проблема с где в codeIgniter

если вы используете этот код, покажите мне все данные, все имена и все идентификаторы. что я делаю?
Я использую codeIgniter

С уважением

$search_customer = 1;//$this->input->post('search_customer'); $where = "id=$search_customer OR name=$search_customer"; $query = $this->db->get('customer'); $this->db->where('id', $search_customer); $this->db->or_where('name', $search_customer); if($query->num_rows()==0){ echo '0'; }else{ $data = array(); foreach ($query->result() as $row) { $data[] = $row; } echo json_encode($data); } 

Эта строка выполняет запрос:

 $query = $this->db->get('customer'); 

прежде чем вы установите свои предложения where. Вы, вероятно, хотите

 $this->db->where('id', $search_customer); $this->db->or_where('name', $search_customer); $query = $this->db->get('customer'); 

Если у вас все еще есть проблемы, посмотрите на генерируемый / выполняемый sql:

 echo $this->db->last_query(); 

Попробуйте это для условий:

 $this->db->where('id', $search_customer); $this->db->or_where('name', $search_customer); 

В документах вы можете видеть, что с помощью get_where вы используете ассоциативный массив.

Похоже, что ошибка говорит вам. У вас нет столбца в базе данных с именем 'id = 1'

Попробуйте использовать массив

 $array = array('id'=>$search_customer); $this->db->get_where('customers', $array); 

http://codeigniter.com/user_guide/database/active_record.html#select

Там также доступны:

 $this->db->or_where('name', $search_customer);