если вы используете этот код, покажите мне все данные, все имена и все идентификаторы. что я делаю?
Я использую 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);