php 删除查询未执行

问题描述 投票:0回答:1

我正在尝试执行删除查询,但它不起作用。

问题是我回显了id,和数据库中的id是一样的。我在MySQL中执行查询,它也有效。最后一件事是执行了 try 块并显示成功消息,但数据并未从数据库中删除。

if (isset($_POST['delete'])){
    try {
        $p_id = $_POST['product_id'];
        $p_id = filter_var($p_id, FILTER_SANITIZE_STRING);
        
        $delete_product = $conn->prepare("DELETE FROM `products` WHERE `id` = ?");
        $delete_product->execute([$p_id]);
        $success_msg[] = "product deleted successfully";
    }catch (PDOException $err) {
        echo $err->getMessage();
    } 
}

我如何查看ID:

<button type="submit" name ="delete" class="btn" onClick="return confirm('delete this product<?= $fetch_product['id'];?>"');"
                            >delete</button>
php mysql
1个回答
0
投票

你可以试试这个代码吗:

if (isset($_POST['delete'])){
    try {
        $p_id = $_POST['product_id'];
        $p_id = filter_var($p_id, FILTER_SANITIZE_STRING);
        
        $delete_product = $conn->prepare("DELETE FROM `products` WHERE `id` = :productId");
        $delete_product->execute(['productId' => $p_id]);
        $success_msg[] = "product deleted successfully";
    }catch (PDOException $err) {
        echo $err->getMessage();
    } 
}
© www.soinside.com 2019 - 2024. All rights reserved.