Php 循环mysql查询以从一个表中获取多行数据并插入到另一个表中

Php 循环mysql查询以从一个表中获取多行数据并插入到另一个表中,php,mysql,Php,Mysql,我正在做一个小项目,在循环MySQL insert时遇到了一些问题。我目前有2个数据库表。我正在从一个人到另一个人获取信息 包含数据的表格: $q = "SELECT * FROM HARDWARE WHERE ID_2=".$db->qstr(20); $rss = $db->execute($q); $re2=$rss->GetArray(); 所以我得到的数据数组很好 仅当id为{20}时插入数据 目前我有两行ID_2=20,但它只插入一行,而不是同时插入两行。这是我的

我正在做一个小项目,在循环MySQL insert时遇到了一些问题。我目前有2个数据库表。我正在从一个人到另一个人获取信息

包含数据的表格:

$q = "SELECT * FROM HARDWARE WHERE ID_2=".$db->qstr(20);
$rss = $db->execute($q);
$re2=$rss->GetArray();
所以我得到的数据数组很好

仅当id为{20}时插入数据 目前我有两行ID_2=20,但它只插入一行,而不是同时插入两行。这是我的插入查询

$sql = "INSERT INTO PARTS SET
          IN_ID     =". $db->qstr($in_id).",
      ER_ID     =". $db->qstr( $er_id).",
      ITEM      =". $db->qstr( $re2[0]['ITEM']   ).",
      NAME      =". $db->qstr( $re2[0]['NAME']   );
它可以很好地插入数据,只插入一行而不是多行。有什么建议吗


谢谢。

在循环中插入您的查询

foreach($re2为$r):
$sql=“插入到零件集中
IN_ID=“$db->qstr($in_id)。”,
ER_ID=“$db->qstr($er_id)。”,
ITEM=“$db->qstr($r['ITEM'])”,
NAME=“$db->qstr($r['NAME']);
endforeach

或者使用多个插入


两者都可以满足您的要求。

为什么不在MySQL中插入?在返回结果的循环中添加您的插入查询。是的,我需要在循环中插入。据我所知,我的查询应该可以工作。在这种情况下,我可以不使用foreach吗?
var\u dump
您的数组来查看其中的内容。我将用foreach循环更新我的帖子。我也尝试过,但它插入了不正确的数据。我得到了4分和5分,因为我犯了一个错误。这很有效。谢谢Marius Cforeach($re2 as$r){$sql=“插入到零件集中”=“..db->qstr($IN_ID)。”,ER_ID=“..db->qstr($ER_ID)。”,ITEM=“..db->qstr($r['ITEM']),NAME=“..db->qstr($r['NAME']);}