我有一个包含多个字段的表单,所有字段都可以相乘
<input type="text" name="child_name[]" />
<input type="text" name="child_age[]" />
<input type="text" name="child_gender[]" />
<input type="text" name="child_school[]" />
我想使用 foreach 将多行添加到数据库中的表中,但每次尝试时都会收到错误消息
"Unknown column 'Array' in 'field list'"
当我打印出数据时,它将所有字段显示为数组,所以我肯定在 foreach 语句中做错了什么,但我不知道是什么
Array ( [child_name] => Array ( [0] => child one [1] => child two) [child_age] => Array ( [0] => 14 [1] => 13 ) [child_gender] => Array ( [0] => male [1] => female ) [child_school] => Array ( [0] => burnside [1] => summer heights high ) )
任何帮助将不胜感激!#
UPDATED
这是我的 foreach 的代码
foreach ($_POST['child_name'] as $child_name)
{
$insert_children_data = array(
'child_name' => $_POST['child_name'],
'child_age' => $_POST['child_age'],
'child_gender' => $_POST['child_gender'],
'child_school' => $_POST['child_school']
);
$insert = $this->db->insert('portrait_children', $insert_children_data);
return $insert;
}
试试这个(假设您的表单对于每个 child_name、child_age 等都有相同数量的元素):
for ($ix=0; $ix<count($_POST['child_name']); $ix++)
{
$insert_children_data = array(
'child_name' => $_POST['child_name'][$ix],
'child_age' => $_POST['child_age'][$ix],
'child_gender' => $_POST['child_gender'][$ix],
'child_school' => $_POST['child_school'][$ix]
);
$insert = $this->db->insert('portrait_children', $insert_children_data);
//return $insert; //you cant return here. must let the loop complete.
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)