删除查询不起作用(无错误/语法错误)

时间:2019-03-05 04:59:16

标签: php mysql sql-delete

<input type="hidden" name="code"
        value="<?php echo $product['productCode']; ?>">
<input type="submit" value="Delete">

// Get ID
$code = filter_input(INPUT_POST, 'productCode', FILTER_VALIDATE_INT);

// Delete the product from the database
if ($code != false) {
    $query = 'DELETE FROM products
              WHERE productCode = :productCode';
    $statement = $db->prepare($query);
    $statement->bindValue(':productCode', $code);
    $success = $statement->execute();
    $statement->closeCursor();
}

顶部的代码试图将代码导入屏幕底部的php / MySQL代码。当代码在网页中运行时,不会出现任何飞行或触发的错误,并且该代码不会在编辑器中标记任何内容。我真的不知所措,这里出了什么问题,我问的人都不知道有什么问题。任何帮助将不胜感激!

5 个答案:

答案 0 :(得分:1)

表字段为prdocutcode,为什么您唯一的名字是代码替换为我的代码

 <input type="hidden" name="productCode" value="<?php echo $product['productCode']; ?>">

答案 1 :(得分:1)

您可以注销:productCode吗?值可能不是您所想的,如果找不到匹配项,则删除不存在的项将很乐意不报告任何内容。

答案 2 :(得分:0)

我认为您在同一文件中具有HTML和PHP代码。

可能是问题所在

如果已发布表单,请添加条件,然后删除产品。

if (isset($_POST['productCode'])) {
 // Get ID
 $code = filter_input(INPUT_POST, 'productCode', FILTER_VALIDATE_INT);
 // Delete the product from the database
 if ($code != false) {
    $query = 'DELETE FROM products
              WHERE productCode = :productCode';
    $statement = $db->prepare($query);
    $statement->bindValue(':productCode', $code);
    $success = $statement->execute();
    $statement->closeCursor();
 }
}

答案 3 :(得分:0)

您要使用不同的键来发布值,并使用不同的键来获取它,我相信这可能是原因,请使用以下

替换隐藏的输入
<input type="hidden" name="productCode" value="<?php echo $product['productCode']; ?>">

此外,您还需要注意php标记<?php ?>,该标记应以php脚本开头和结尾。

答案 4 :(得分:0)

请使用AJAX发布请求通过代码删除。