Postingan lainnya
Cara mengatasi CodeIgniter Error Number: 1062 Duplicate entry
Mohon pencerahan-nya, bagaimana mengatasi masalah ketika input data yang sama. saya sudah coba menggunakan cara ini : if ($this->db->insert('crud_test',$data)) { return [ 'id' =>$this->db->insert_id(), 'success' => true, 'message' => 'data berhasil di input' ]; }else { return [ 'success' => false, 'message' => 'data gagal di input' ]; } dan saya juga coba cara ini : try { $this->db->insert('crud_test',$data); return [ 'id' =>$this->db->insert_id(), 'success' => true, 'message' => 'data berhasil di input' ]; } catch (Exception $e) { return [ 'success' => false, 'message' => 'data gagal di input' ];
}
Yang saya harapkan ketika terjadi kesalahan input akan me-return : return [ 'success' => false, 'message' => 'data gagal di input' ];
tetapi error yang muncul tetap : A Database Error Occurred
Error Number: 1062
Duplicate entry '17' for key 'PRIMARY'
INSERT INTO `crud_test` (`id`, `deskripsi`) VALUES ('17', 'david')
Filename: C:/xampp/htdocs/CodeIgniter/system/database/DB_driver.php
Line Number: 691
2 Jawaban:
solved yeeeaahhhh : function add() { $data =($this->input->post()); extract($data); if ($this->check_id($id)) { return [ 'success' => false, 'message' => 'data gagal di input' ]; }else { $this->db->insert('crud_test',$data); return [ 'id' =>$this->db->insert_id(), 'success' => true, 'message' => 'data berhasil di input' ]; } } function check_id($id){
$this->db->select();
$query = $this->db->get_where('crud_test', array('id' => $id));
$result = $query->result_array();
$count = count($result);
if(empty($count)){
return false;
}
else{
return true;
}
} salah masuk akun hahahaha
Sudah jelas itu duplikat primary key, mungkin agan pakai Auto Increment tapi valuenya diset pada $data