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() 提供了一个无效的参数,但我不确定,a。那是什么意思,和b。如何解决它;任何人都可以提供任何指导以使我的循环正常工作或执行此插入的更好方法。

谢谢

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 回答