我正在尝试选择数据库中的最后一个ID更新,现在我想删除此ID,但它没有执行该命令。
这里是我的代码:
if(isset($_GET['delete'])){
$delete_id = sanitize($_GET['delete']);
$db->query("DELETE * FROM transactions WHERE id = (SELECT MAX(id) FROM transactions)");
echo $delete_id;
$_SESSION['success_flash']='El pedido se canceló correctamente';
}
$query = $db->query("SELECT * FROM transactions WHERE id = (SELECT MAX(id) FROM transactions)");
$cart = mysqli_fetch_assoc($query);
$cart_id = sanitize($cart['cart_id']);
<a href="confirmacion.php?delete=<?=$cart_id;?>" class="btn btn-default btn-xs float-right">Cancelar</a>
在回显$delete_id
中,我得到了正确的值。
答案 0 :(得分:0)
天哪,问题是如此愚蠢...我只是意识到交易ID与MAX ID不同,而是cart_id。因此,实际值为cart_id而不是id。我只是修改FROM值。 不好:
$db->query("DELETE * FROM transactions WHERE id = (SELECT MAX(id) FROM transactions)");
正确:
$db->query("DELETE * FROM transactions WHERE cart_id = $cart_id");
无论如何,希望我会得到一个更好的安全脚本。同时,我正在学习。 谢谢!