我想删除表中的数据,但是由于这个问题,我无法删除数据。错误编号:1064
这是我的控制器
class Dosen extends CI_Controller
{
public function __construct()
{
parent ::__construct();
$this->load->library('form_validation');
$this->load->model('Dosen_model');
}
public function index()
{
$data['judul'] = 'Daftar Dosen';
$data['dosen'] = $this->Dosen_model->getAllDosen();
$this->load->view('templates/header', $data);
$this->load->view('dosen/index', $data);
$this->load->view('templates/footer');
}
public function tambah()
{
$data['judul'] = 'Form tambah data Dosen';
$this->form_validation->set_rules('nip','NIP','required');
$this->form_validation->set_rules('nama','Nama','required');
if ($this->form_validation->run()==FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('dosen/tambah');
$this->load->view('templates/footer');
}
else
{
$this->Dosen_model->tambahDataDosen();
$this->session->set_flashdata('flash','Ditambahkan');
redirect('Dosen');
}
}
public function hapus($nip)
{
$this->Dosen_model->hapusDataDosen($nip);
$this->session->set_flashdata('flash','Dihapus');
redirect('Dosen');
}
这是我的模特
<?php
class Dosen_model extends CI_Model
{
public function getAllDosen()
{
$query = $this->db->get('daftar_dosen');
return $query->result_array();
}
public function tambahDataDosen()
{
$data = [
"nip" => $this->input->post('nip'),
"nama" => $this->input->post('nama'),
"prodi" => $this->input->post('prodi'),
];
$this->db->insert('daftar_dosen',$data);
}
public function hapusDataDosen($nip)
{
$this->db->where('nip',$nip);
$this->db->delete('daftar_dosen',$data);
}
}
输出为: 遇到PHP错误 严重程度:通知
消息:未定义的变量:数据
文件名:models / Dosen_model.php
行号:23
回溯:
文件:C:\ xampp \ htdocs \ endtest \ application \ models \ Dosen_model.php 行:23 功能:_error_handler
文件:C:\ xampp \ htdocs \ endtest \ application \ controllers \ Dosen.php 线:40 功能:hapusDataDosen
文件:C:\ xampp \ htdocs \ endtest \ index.php 线:315 功能:require_once
然后
发生数据库错误 错误编号:1064
您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在第3行的“ IS NULL”附近使用正确的语法
从daftar_dosen
的{{1}} ='0001'处删除并且为空
文件名:C:/xampp/htdocs/endtest/system/database/DB_driver.php
行号:691
答案 0 :(得分:1)
尝试一下- 在模型中
public function hapusDataDosen($nip)
{
$this->db->where('nip',$nip);
$this->db->delete('daftar_dosen',$nip);
}
答案 1 :(得分:0)
错误消息很清楚
Message: Undefined variable: data
换句话说,某处有一个未定义的变量$data
。
在您的代码中哪里找到$data
?答案:在hapusDataDosen()
调用中的功能$this->db->delete('daftar_dosen',$data);
很难确切地知道您要做什么。我的猜测是您要做的就是更改
$this->db->delete('daftar_dosen', $data);
到
$this->db->delete('daftar_dosen');
答案 2 :(得分:0)
尝试一下
public function hapusDataDosen($nip){
$this->db->where('nip',$nip);
$this->db->delete('daftar_dosen');
}
OR
public function hapusDataDosen($nip){
$this->db->delete('daftar_dosen', ['nip' => $nip]);
}
不要使用$data
,因为
答案 3 :(得分:0)
public function hapusDataDosen($nip){
$this->db->delete('daftar_dosen',array('nip'=>$nip));
}