选择当前ID但无法从数据库中删除?

时间:2019-03-14 15:50:12

标签: php id

我正在尝试选择数据库中的最后一个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中,我得到了正确的值。

1 个答案:

答案 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"); 

无论如何,希望我会得到一个更好的安全脚本。同时,我正在学习。 谢谢!