[英]database error with 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服务器版本相对应的手册,以在第1行的'id_kategori ='1'附近使用正确的语法
怎么解决呢?
在连接WHERE
子句之前放一个空格:
....on a.id_user=c.id_user' .$id_kategori);
至
....on a.id_user=c.id_user ' .$id_kategori);
在控制器中
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;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.