首页 > 解决方案 > 消息:内爆():如果复选框值没有任何记录或为空,则传递的参数无效

问题描述

将记录添加到数据库时。某些字段根据选择显示,某些复选框字段未显示。然后传递值是空的。

$data = array(
        'pro_name'=>$this->input->post('pro_name'),
        'c_id'=>$this->input->post('c_id'),
        's_id'=>$this->input->post('s_id'),
        'pro_price'=>$this->input->post('pro_price'),
        'c_name'=>$c_name,
        's_name' => $s_name,
        'power_consumption'=>$this->input->post('power_consumption'),
        'model'=>$this->input->post('model'),
        'type'=>$this->input->post('type'),
        'cutout_size'=>$this->input->post('cutout_size'),
        'cct' => substr(implode(', ', $this->input->post('cct')), 0),  
        'feet' => substr(implode(', ', $this->input->post('feet')), 0),         
        'p_application' => substr(implode(', ', $this->input->post('p_application')), 0),  
        'p_desc'=>$this->input->post('p_desc'),
        'pro_status'=> '5'
    );
    //print_r($data); die();
    $this->db->insert('product',$data);

如果根据选择的字段,我的表单中不存在 cct 列,则它将值设置为 0 或删除

消息:内爆():传递的参数无效。

标签: codeigniter

解决方案


不要cct$data数组中添加

首先,检查是否cct不为空,然后使用implode()

if($this->input->post('cct')){
   $data['cct'] = substr(implode(', ', $this->input->post('cct')), 0);
} 

对于其他正在使用的人来说也是如此implode()


推荐阅读