2015-11-02 2 views
0

я хочу сделать форму редактированияошибка базы данных с CodeIgniter

это мой контроллер:

public function edit_data($id_kategori){ 
    $artikel = $this->mymodel->GetArtikel("where id_kategori = '$id_kategori'"); 
    $data = array(
     "id_kategori" => $mhs[0]['id_kategori'], 
     "nama_lengkap" => $mhs[0]['nama_lengkap'], 
     "judul" => $mhs[0]['judul'], 
     "nama_kategori" => $mhs[0]['nama_kategori'], 
     "isi" => $mhs[0]['isi'] 
    ); 
    $this->load->view('form_edit',$data); 
    } 

public function do_update(){ 
    $id_kategori= $_POST['id_kategori']; 
    $nama  = $_POST['nama_lengkap']; 
    $judul  = $_POST['judul']; 
    $nama_kategori = $_POST['nama_kategori']; 
    $isi  = $_POST['isi']; 
    $data_insert = array(
    'id_kategori' => $id_kategori, 
    'nama_lengkap' => $nama, 
    'judul' => $judul, 
    'nama_kategori' => $nama_kategori, 
    'isi' => $isi); 
    $where = array('id_kategori' => $id_kategori); 
    $res = $this->mymodel->UpdateData('artikel',$data_update,$where); 
    if($res>=1){ 
     $this->session->set_flashdata('pesan','Update Data Sukses'); 
     redirect('crud/index'); 
    } 
    } 

и моя модель:

public function GetArtikel($id_kategori=''){ 
     $data = $this->db->query('SELECT a.id_artikel, a.judul, a.tanggal_buat, a.tanggal_update, b.nama_kategori, c.nama_lengkap, c.id_user FROM artikel as a LEFT JOIN kategori as b on a.id_kategori=b.id_kategori LEFT JOIN user as c on a.id_user=c.id_user' .$id_kategori); 
     return $data->result_array(); 
    } 
    public function UpdateData($tabelNama,$data,$where){ 
     $res = $this->db->update($tabelNama,$data,$where); 
     return $res; 
     } 

но когда я бегу в браузере. ошибка:

У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'id_kategori =' 1 '' по строке 1

Как решить эту проблему?

ответ

1

Поместите пространство, прежде чем сцепить WHERE пункт:

....on a.id_user=c.id_user' .$id_kategori); 

к

....on a.id_user=c.id_user ' .$id_kategori); 
0

В контроллере

public function do_update(){  

    $res = $this->mymodel->UpdateData(); 

    if($res == TRUE) 
    { 
     # Success 
     $this->session->set_flashdata('pesan','Update Data Sukses'); 
     redirect('crud/index'); 
    } 
    else 
    { 
     # Error 
     echo "Update Failed"; 
    } 
} 

В модели

public function UpdateData(){ 

    $id_kategori = $_POST['id_kategori']; 
    $nama   = $_POST['nama_lengkap']; 
    $judul   = $_POST['judul']; 
    $nama_kategori = $_POST['nama_kategori']; 
    $isi   = $_POST['isi']; 

    $data = array(
     'nama_lengkap' => $nama, 
     'judul'   => $judul, 
     'nama_kategori' => $nama_kategori, 
     'isi'   => $isi 
    ); 

    $this->db->where('id_kategori', $id_kategori); 

    if(!$this->db->update('artikel', $data)) 
    { 
     #Error 
     return FALSE; 
    } 
    else 
    { 
     #Success 
     return TRUE; 
    } 
} 
Смежные вопросы