0

次のように、一連のチェックボックスから生成されたIDのリストがあります。

$list = mysql_real_escape_string(implode(',',$_POST['checkbox']));

次のようなリストを出力します。

a、b、c

各リストアイテムに対応するMYSQLデータベースに列を設定したいのですが、次のようなforeachループを使用してクエリを作成しようとして失敗しました。

$update_query= '';
foreach($list as $item){     //error on this line
 $update_query .= "
  INSERT INTO t (Col_1, Col_2)
  VALUES  ('".$item."',now());
     ";}

foreach()に無効な引数を指定したとは言えませんが、よくわかりません。それが何を意味するのか、そしてb。それを修正する方法; 誰かが私のループを機能させるためのガイダンス、またはこのINSERTを実行するためのより良い方法を提供できますか?

ありがとう

4

1 に答える 1

3

$list配列ではなく文字列です。インロードする前に、配列を渡してみてください。

$update_query= '';

foreach($_POST['checkbox'] as $item)
{
    $update_query .= "INSERT INTO t (Col_1, Col_2) VALUES ('".addslashes($item)."', now());"; 
}

ただし、プリペアドステートメントを使用する方がはるかに良いでしょう!

于 2013-02-27T16:01:54.743 に答える