首页 > 解决方案 > 发生数据库错误错误号: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);
    }

标签: phpcodeigniter

解决方案


您应该检查是否有$_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');
}

您还应该实现表单验证


推荐阅读