codeigniter - 提交表单,它显示“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;
}
请帮助任何人,我想摆脱它。
解决方案
你的代码有太多错误......试试这个......它只会添加你的字段......没有任何错误......在控制器
// $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);
}