有人可以帮助我弄清楚为什么当我插入数据库时我只在数组元素上获取第一个字符。
我的数据来自复选框,提交后数据如下所示:
array ( 0 => 'Water Sealed', 1 => 'Open Pit', 2 => 'None', ) //$toilet_arr
这是我的代码:
if (count($toilet_arr)) {
foreach($toilet_arr as $row):
$data = array("hof_id"=>$last_id,"toilet_type"=>$row['toiletType']);
$this->db->insert('toilet_tbl',$data);
endforeach;
}
从数组中,foreach 循环应如下所示
$toilet_arr = array ( 0 => 'Water Sealed', 1 => 'Open Pit', 2 => 'None' );
if (count($toilet_arr)) {
foreach($toilet_arr as $row) {
$data = array("hof_id"=>$last_id,"toilet_type"=>$row);
$this->db->insert('toilet_tbl',$data);
}
}
如果问题仍然存在,这应该按原样插入值,请检查数据库中列toilet_type
的长度。您需要为列toilet_type
设置varchar(250)
您的hof_id=>$last_id
是固定的。 如果它是数据库中的主键或唯一键,则需要随着每次迭代而递增。