0

我的网站显示此警告:

第 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());
?>
4

2 回答 2

3

可能存在数据没有进入您的 $_POST['E1'] 的情况,

那么在这种情况下,您正在为空白数组执行 foreach,所以您需要做的就是

if(isset($ele_school) && $ele_school != NULL){
     foreach($ele_school as $ele_school2){
     // your script
     }
}
于 2013-04-20T05:28:30.687 回答
0

你应该使用:

if (isset($_POST['E1']) {  

    //then use your foreach loop
}
于 2013-04-20T05:19:29.483 回答