php - 为复选框提供的参数无效

标签 php mysql

我的网站显示此警告:

Invalid argument supplied for foreach() in /admin/insert.php on line 37

我已经使用这个 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());
?>

最佳答案

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

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

if(isset($ele_school) && $ele_school != NULL){
     foreach($ele_school as $ele_school2){
     // your script
     }
}

关于php - 为复选框提供的参数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116881/

相关文章:

php - htaccess 将 .htm 重写为 html 不工作

php - 是否有 PHP 存档实用程序可以压缩 Web 根文件夹以进行备份?

mysql - 根据列的子字符串的外键连接两个表?

mysql - 设置 Int16 溢出时的累加值

php - 用一个字符串搜索多个表字段,分开(MySQL)

php - 所有检查返回false后无法退出循环

php - 创建具有一对多关系的mysql表

php - 拍卖风格网站的数据库设计

mySQL 查询在数据库中的所有表中搜索字符串?

php - CakePHP/PHP 和 MySQL 数据库架构的重复事件插件