将PHP中选定的多个值插入到另一个表中
将PHP中选定的多个值插入到另一个表中,php,mysql,Php,Mysql,$SelectSql=“从ProductId=2限制3的项目中选择Id” 我在PHP页面中进行了上述查询,结果如下: Id 5 6 7 现在我需要将这些记录插入另一个表中,如下所示 Insert into table2 (Id,name) values(5,a), values(6,a), values (7,a) 但我用编程的方式尝试的是 $SelectSql = "SELECT Id FROM Item WHERE ProductId = 2 LIMIT '$PostQuantity'"
$SelectSql=“从ProductId=2限制3的项目中选择Id”代码>
我在PHP页面中进行了上述查询,结果如下:
Id
5
6
7
现在我需要将这些记录插入另一个表中,如下所示
Insert into table2 (Id,name) values(5,a), values(6,a), values (7,a)
但我用编程的方式尝试的是
$SelectSql = "SELECT Id FROM Item WHERE ProductId = 2 LIMIT '$PostQuantity'";
$ItemResult2 = $dbcon->query($SelectSql);
if ($ItemResult2->num_rows > 0) {
while ($row = $ItemResult2->fetch_assoc()) {
$id = $row["Id"];
$Insertsql = "INSERT INTO ItemMovement (CustomerId,ItemId,DeliveryDate,ReturnDate) VALUES('$CustomerId','$id','2015-07-15','2017-11-15')";
mysqli_query($dbcon, $Insertsql);
// echo $Advance;
}
}
这不管用。插入选定值的其他方法有哪些
感谢您的帮助。使用这个查询。我认为它足够了
INSERT INTO ItemMovement (CustomerId,ItemId,DeliveryDate,ReturnDate)
SELECT '$CustomerId',Id,'2015-07-15','2017-11-15' FROM Item WHERE ProductId = 2 LIMIT 3
您可以使用此代码
$CustomerId = 10; // test case.
它将更新您的状态并将日期设置为静态,或者您也可以使用now(),但有一件重要的事情是项目移动
此表需要自动递增
字段。如果您的select表没有插入表所需的字段,则使用null或静态值,假设您的customerId=10;然后
INSERT INTO `ItemMovement` (`CustomerId`,`ItemId`,`DeliveryDate`,`ReturnDate`)
SELECT 10,Id,'2015-07-15','2017-11-15' FROM Item WHERE ProductId = 2 LIMIT 3;
只需替换上面的查询
10
到
这是通用格式
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
更多信息
了解准备好的语句,以防止SQL注入。实际上,我这样做是为了发布问题。$CustomerId和两个日期不在项目表中。我直接将其作为值,并用单引号括起来
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;