php - 发生数据库错误错误号:1048 列“namabank”不能为空
问题描述
我收到一条错误消息:
发生数据库错误错误号:1048
列 'namabank' 不能为空 INSERT INTO mt_bank
( idbank
, namabank
) VALUES (NULL, NULL)
文件名:C:/xampp5/htdocs/simastupen/system/database/DB_driver.php
行号:691
我在提交之前填写了表格。
idbank 类型是 int 并且是主键和自动增量,namabank 类型是 varchar
我的控制器:控制器/bankdatel.php
public function tambahbank()
{
$this->load->view('template/header');
$this->load->view('form/form_tambah_bank');
$this->load->view('template/footer');
$this->load->model('model_bankdatel');
$arrdata = array(
'idbank' => $this->input->post(''),
'namabank' => $this->input->post('namabank')
);
$this->load->model('model_bankdatel');
$this->model_bankdatel->insert($arrdata);
$this->session->set_flashdata('info', "<script>alert('Data Bank Berhasil Disimpan');</script>");
redirect('bankdatel');
}
我的观点:view/form/form_tambah_bank.php
<form action="<?php echo site_url('bankdatel/tambahbank')?>" method="post">
<div class="box-body">
<div class="form-group">
<label>Nama Bank: </label>
<input name="namabank" type="text" class="form-control" placeholder="">
</div>
<div class="box-footer">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
我的模型:model/model_bankdatel.php
public function insert($data){
$this->db->insert('mt_bank', $data);
}
解决方案
您应该检查是否有$_POST
可用的数据。如果是这样,请执行数据库插入,否则每次调用bankdatel/tambahbank
加载表单的 url 时插入查询都会起作用。
public function tambahbank()
{
if ($this->input->post()) { #Check post data available
$this->load->model('model_bankdatel');
$arrdata = array(
'idbank' => $this->input->post(''),
'namabank' => $this->input->post('namabank')
);
$this->model_bankdatel->insert($arrdata);
$this->session->set_flashdata('info', "<script>alert('Data Bank Berhasil Disimpan');</script>");
redirect('bankdatel');
}
$this->load->view('template/header');
$this->load->view('form/form_tambah_bank');
$this->load->view('template/footer');
}
您还应该实现表单验证
推荐阅读
- python - 带有简单 GET 方法的 Django 视图导致 TypeError
- excel - 将工作表之间的范围复制到最后一行
- java - Gradle Kotlin DSL - 当在 Parent 中定义 java.sourceCompatibility 时构建脚本失败,但在添加到子模块时构建成功
- python-3.x - 当有效载荷长度大小大于 1000K 时,无法获得有效载荷响应。(Coap)
- javascript - bootstrap 4国家选择的问题
- jquery - 通过选中 jQuery 中的复选框和单选来控制 div 显示
- c# - 如何使用 C# 点击 YouTube 播放器的播放速度
- html - html助手。ActionLink 总是设置当前控制器而不是传递另一个控制器
- python - Python Matplotlib 在图形上悬停时显示光标
- swift - Var 没有保存我的新 Int SwiftUI / @State var static