发生数据库错误错误号:1048列'namabank'不能为空

I got an error that says:

A Database Error Occurred Error Number: 1048

Column 'namabank' cannot be null INSERT INTO mt_bank (idbank, namabank) VALUES (NULL, NULL)

Filename: C:/xampp5/htdocs/simastupen/system/database/DB_driver.php

Line Number: 691

i filled the form before submitting.

idbank type is int and is primary key and Auto increment, namabank type is varchar

my controller: controller/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');
    }

my view: 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>

My Model: model/model_bankdatel.php

    public function insert($data){
        $this->db->insert('mt_bank', $data);
    }

You should check whether there is $_POST data available. If so, do the db insert, otherwise the insert query will work when each time you call the url bankdatel/tambahbank for load form.

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');
}

You should also implement form validation

The error clearly explains the problem, that namabank column cannot have null values. Go to phpmyadmin and uncheck the null column for namabank to allow nulls.