将数组插入查询然后将结果循环到新查询中

时间:2011-03-26 12:46:21

标签: php mysql arrays

基本上这是在动态表单的末尾,用户可以在组中添加多个他们想要的用户,所以我会在数组user []中输入所有输入。

我想查询数组值并获取每个用户ID,然后使用用户ID运行另一个查询,将用户ID插入另一个表。

我是初学者,所以我迷失了。我试着为每种方法尝试使用a但是无法使其工作,所以现在我尝试了一段时间。

这是我的代码我一直在玩,我想它完全错了:(

$query = 'SELECT * FROM users_tb WHERE student_number IN('.implode(',', $array).')';
mysql_query($query) or die(mysql_error());
$result=mysql_query($query);

while($row = mysql_fetch_assoc($result))
{
    $sql = "INSERT INTO group_assocation_tb (group_id, user_id) VALUES('$group','$row['user_id']')";
    mysql_query($sql) or die(mysql_error());
    mysql_close();
}

请帮帮忙? :d

问候

2 个答案:

答案 0 :(得分:1)

您想使用INSERT SELECT

INSERT INTO group_association (group_id, user_id)
  SELECT ' . $group_id . ', user_id
  FROM users_tb WHERE student_number IN('.implode(',', $array).')

答案 1 :(得分:0)

INSERT查询中有一些额外的引号,它应如下所示:

$sql = "INSERT INTO group_assocation_tb (group_id, user_id) ".
       "VALUES('$group','$row[user_id]')";

除此之外,如果$group是组ID,它看起来应该有效。