我的网站显示此警告:
第37行的/admin/insert.php中为foreach()提供的参数无效
我已经使用这个php代码从复选框
中插入mysql数据库中的数据我该如何解决?
由于
<table>
<tr>
<td bgcolor="#FFEBC1">
<input type="checkbox" name="E1[]"value="1" >
国語
<input type="checkbox" name="E1[]" value="2" >
算数
<input type="checkbox" name="E1[]" value="3" >
理科
<input type="checkbox" name="E1[]" value="4" >
社会
<input type="checkbox" name="E1[]" value="5" >
英語
</td>
</tr>
</table>
<?php
$ele_school = $_POST['E1'];
$selected_schoo2 = "";
foreach ($ele_school as $ele_school2 ) {
$selected_schoo2 .= $ele_school2 . ", ";
}
$selected_schoo2 = substr($selected_schoo2, 0, -2);
$query="insert into person(id,login_date,name,selected_schoo)
values('$_POST[PID]',
'$_POST[REGISTRATION]',
'$_POST[FURIGANA2]',
'$selected_schoo2')";
mysql_query($query) or die("not successfully insert".mysql_error());
?>
答案 0 :(得分:3)
可能存在数据未进入$ _POST ['E1']的情况,
然后在那种情况下你正在为空白数组执行foreach, 所以你需要做的就是
if(isset($ele_school) && $ele_school != NULL){
foreach($ele_school as $ele_school2){
// your script
}
}
答案 1 :(得分:0)
您应该使用:
if (isset($_POST['E1']) {
//then use your foreach loop
}