CodeIgniter遇MySQL 1048错误求助:'ket'列不能为空
解决MySQL 1048错误(Column 'ket' cannot be null)
错误信息
错误编号:1048
Column 'ket' cannot be null
执行的SQL语句:INSERT INTOtb_uploadv(ket,tgl,video) VALUES (NULL, NULL, NULL)
错误文件路径:C:/xamppV5/htdocs/sicams/system/database/DB_driver.php
错误行号:691
问题根源
表单输入字段的name属性与控制器中接收的字段名完全不匹配,导致所有字段值无法正确获取,最终插入数据库时全部为NULL,而数据库中ket字段设置为非空约束,触发1048错误。
修复步骤
1. 修正视图文件(views/uploadv.php)的表单字段name属性
将表单里的字段name改为与控制器接收参数一致的名称:
<form method="post" action="<?php echo base_url().'uploadv/tambah_aksi';?>"> <div class="form-group"> <label>Keterangan</label> <input type="text" name="ket" class="form-control"> </div> <div class="form-group"> <label>Tanggal Rekaman</label> <input type="date" name="tgl" class="form-control"> </div> <div class="form-group"> <label>File Rekaman</label> <input type="text" name="video" class="form-control"> </div> <button type="reset" class="btn btn-danger" data-dismiss="modal">Batal</button> <button type="submit" class="btn btn-primary">Simpan</button> </form>
2. 统一控制器与模型的方法参数(规范优化)
控制器中调用模型时传递了两个参数,但模型方法仅接收一个,可二选一修改:
- 方案一:修改控制器代码
// 原代码 $this->m_uploadv->input_data($data, 'tb_uploadv'); // 修改为 $this->m_uploadv->input_data($data);
- 方案二:修改模型代码(支持动态表名)
public function input_data($data, $table) { $this->db->insert($table, $data); }
3. 可选:添加表单验证(提前拦截空值)
在控制器中添加表单验证,避免用户提交空值:
class Uploadv extends CI_Controller{ public function __construct() { parent::__construct(); $this->load->library('form_validation'); // 加载验证库 } // ... 其他方法省略 public function tambah_aksi() { // 设置验证规则 $this->form_validation->set_rules('ket', 'Keterangan', 'required'); $this->form_validation->set_rules('tgl', 'Tanggal Rekaman', 'required'); $this->form_validation->set_rules('video', 'File Rekaman', 'required'); if ($this->form_validation->run() == FALSE) { $this->index(); // 验证失败返回表单页面 } else { $data = [ 'ket' => $this->input->post('ket'), 'tgl' => $this->input->post('tgl'), 'video' => $this->input->post('video'), ]; $this->m_uploadv->input_data($data); redirect('uploadv/index'); } } }
内容的提问来源于stack exchange,提问作者Andhika
相关产品推荐
相关产品推荐

