$stmt = mysqli_prepare($transport, "DELETE FROM appointments WHERE id = ?");
mysqli_stmt_bind_param($stmt, "i", $id);
foreach ($_POST['delete'] as $id)
{
mysqli_stmt_execute($stmt);
}
删除代码就像魅力一样。我还有代码来更新字段:
$size = count($_POST['room_n']);
$i=0;
while ($i < $size)
{
$room_n = mysqli_real_escape_string($transport, $_POST['room_n'][$i]);
$id = $_POST['id'][$i];
$sql = "UPDATE appointments SET room = '$room_n' WHERE id = $id";
mysqli_query($transport, $sql) or die('Error: ' . mysqli_error($transport));
++$i;
}
其中100%也有效。我尝试使用相同类型的while循环将已删除的项目插入到删除表中,它只是给了我错误。我也尝试将插入代码放在mysqli_stmt_execute
前面,我觉得它没有发布。所以我不确定我能做什么。再次感谢您的帮助!
答案 0 :(得分:0)
您可以使用功能INSERT ... SELECT
INSERT INTO `deleted` SELECT * FROM appointments WHERE id = $id
P.S。不要忘记使用事务,因为您正在使用两个查询执行操作。
P.P.S。最好添加状态字段,例如id_deleted
P.P.P.S。不要使用mysql_
函数