首页 > 解决方案 > 提交表单,它显示“column_name 不能为空”,但在表单内部,该值不为空。(代码点火器)

问题描述

视图:(内部视图,transaction_particular_name 不为空)

<form method="post" action="<?php echo base_url().'user/add_transaction'; ?>">
  <div class="container">
  <label for="uname"><b>Purpose of Fee's</b></label>
    <select name="transaction_particular_name">
      <?php foreach($all_particular as $key){ ?>
      <option value="<?php echo $key->particular_name; ?>"><?php echo $key->particular_name; ?></option>
      <?php } ?>
    </select>       
    <button type="submit">Proceed</button>
  </div>
</form>

控制器(用户):(只是调用模型)

public function add_transaction()
      {
        $query=$this->Mdl_data->insert_transaction();
      }

Model(Mdl_data):(模型内部,属性为null)

public function insert_transaction()
    {

        $tablename='transaction';
        $columns_and_fields = array('transaction_particular_name');
          foreach ($columns_and_fields as $key) 
            $data[$key]=$this->input->post($key);
        $query=$this->db->insert($tablename,$data);
        return $query;
    }

请帮助任何人,我想摆脱它。

标签: codeigniter

解决方案


你的代码有太多错误......试试这个......它只会添加你的字段......没有任何错误......在控制器

    // $data = $this->input->post('transaction_particular_name');
$data = $_POST['transaction_particular_name'];
if($data){
  $query=$this->Mdl_data->insert_transaction($data);
} else {
    echo "unable to capture data... "
}

并在模型

public function insert_transaction($data = '')
    {

        $tablename='transaction';
        $columns_and_fields = array('transaction_particular_name'=>$data); 
        $this->db->insert($tablename,$columns_and_fields);
    }

推荐阅读