我想制作一个编辑表格
这是我的控制者:
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; id_kategori =' 1''''''''在第1行
如何解决?
答案 0 :(得分:1)
在连接WHERE
子句之前放置一个空格:
....on a.id_user=c.id_user' .$id_kategori);
到
....on a.id_user=c.id_user ' .$id_kategori);
答案 1 :(得分: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;
}
}