2015-08-25 6 views
0

Я попытался вызвать данные по идентификатору id id id = GE-DIS-001 в таблицу JOIN с Codeigniter, результат «Неизвестный столбца 'GE' в 'где положение' что случилось ??вызовите 'id' базы данных mysql с форматом varchar, но неизвестный столбец 'GE' в 'where clause'

контроллер:

public function detail(){ 

    $id = $this->uri->segment(4); 
    $detail = $this->mcrud->get_detail($id); 

    $data = array(
       'detail'=>$detail, 
       'lihat' =>$this->mcrud->lihat_komentar($id), 
       'isi'  =>'instrument/read_views'); 
    $this->load->view('layout/wrapper', $data); 


    }  

Модель:

public function get_detail($id){ 

    $sql = "SELECT * FROM tbdetail 
      JOIN tbkalibrasi ON tbkalibrasi.id = tbdetail.id 
      JOIN tbsupplier ON tbsupplier.namasupplier = tbdetail.namasupplier 

      WHERE tbdetail.id = {$id} 
      "; 
    return $this->db->query($sql)->result_array(); 
    } 
+0

Что имеется в $ id? –

+1

id - строка, ее нужно указывать –

+0

попытайтесь распечатать запрос, и в результате вы получите то, что не так .... try 'print_r ($ sql); и print_r ($ this-> db-> query ($ sql) -> result_array()); ' – Linus

ответ

1

кажется $id переменная содержит строку с пробелы, поэтому вы получаете эту ошибку. Измените его на

public function get_detail($id){ 

    $sql = "SELECT * FROM tbdetail 
      JOIN tbkalibrasi ON tbkalibrasi.id = tbdetail.id 
      JOIN tbsupplier ON tbsupplier.namasupplier = tbdetail.namasupplier 

      WHERE tbdetail.id = '$id' 
      "; 
    return $this->db->query($sql)->result_array(); 
    } 
+0

@irwanDwiyanto, попробуйте поместить одинарные кавычки над' $ id 'variable в запросе и проверить, работает ли он. –

+0

были опробованы, но он все еще не работает, я вызываю id (GE - DIS - 001), но MySQL не читает GE –

0

Является ли ваша переменная для id отсутствующей одинарной кавычкой?

public function get_detail($id){ 

$sql = "SELECT * FROM tbdetail 
     JOIN tbkalibrasi ON tbkalibrasi.id = tbdetail.id 
     JOIN tbsupplier ON tbsupplier.namasupplier = tbdetail.namasupplier 

     WHERE tbdetail.id = '{$id}' 
     "; 
return $this->db->query($sql)->result_array(); 
}