0

私のサイトはこの警告を表示しています:

/admin/insert.php の 37 行目の foreach() に無効な引数が指定されました

チェックボックスからmysqlデータベースにデータを挿入するために、このphpコードを使用しました

どうすれば解決できますか?

ありがとう

<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 に答える