我正在使用预备语句在php中做一些工作。我的任务是首先从一个表中选择一些数据,然后将数据插入另一个表。如何在预准备语句中使用while循环来插入记录?
以下是代码:
stmt=$db->prepare("SELECT userid, order_number, balance from plus_wallet limit 0,3");
$stmt->execute();
$stmt->bind_result($userid, $orderid, $balance);
while($stmt->fetch()) {
$stmt1=$db->prepare("INSERT INTO `plus_user_wallet`(`userid`, `balance`, `update_time`) VALUES (?,?, NOW() + INTERVAL 45000 second)");
$stmt1->bind_param('ss' , $userid, $balance);
$stmt1->execute();
$stmt1->close();
$stmt->close();
}
答案 0 :(得分:1)
如果其他任何地方都不需要order_number
字段而您选择它,因为它在表格中,您可以使用:
insert into
plus_user_wallet
(userid,balance,update_time)
select
userid,balance,now()+interval 45000 second
from
plus_wallet
limit
0,3;
如果您需要一个userid
值,可以通过在where userid=?
from plus_wallet
添加到select语句中,将其转换为预准备语句
显然,如果你确实需要在其他地方使用order_number,那么你将需要一个循环系统。
关于您的代码的一些注释:
$stmt1
- 这是准备好的陈述的重点