【发布时间】:2016-04-07 17:29:02
【问题描述】:
我必须根据列值(数字)将几行从一个表移动到另一个表。
$order_code = '8888';
$conn->autocommit(false);
$sqlTranInsert = "SELECT * FROM shop_inventory WHERE item_order_code ='$order_code'";
if(!$resultTranInsert = $conn->query($sqlTranInsert)){
echo 'Error '.$conn->error;
$conn->close();
exit;
}
while($row = $resultTranInsert->fetch_assoc()){
$inve_id = $row['inve_id'];
$sqlTranInsertItems = "INSERT INTO shop_inventory_archive SELECT * FROM shop_inventory WHERE inve_id = '$inve_id'";
if(!$resultTranInsertItems = $conn->query($sqlTranInsertItems)){
echo 'Error '.$conn->error;
$conn->close();
exit;
}
}
$conn->commit();
$conn->close();
echo $msg;
exit;
我的问题是这根本不起作用,我不确定 WHILE 循环,我确定存在问题。感谢您的帮助。
您好。
【问题讨论】:
-
while循环中的insert语句在哪里执行?你错过了 $conn->query 调用
-
是的,我在粘贴代码时很糟糕。我更新了问题。
-
在循环中插入后是否从 echo 行收到任何错误?
-
否 :( 它转到 $msg ,即 = '已复制订单' ,这是一切正常的消息。
标签: php mysqli transactions