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

问题描述 投票:0回答:5
<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代码处。当代码在网页中运行时,没有任何错误可以飞行或触发,并且代码不会在编辑器中标记任何内容。我真的对这里出了什么问题感到茫然,我问过的任何人都不知道出了什么问题。任何帮助,将不胜感激!

php mysql sql-delete
5个回答
1
投票

你能注销:productCode吗?该值可能与您的想法不同,如果未找到匹配项,则删除不存在的项目将很乐意报告任何内容。


1
投票

表字段是prdocutcode为什么你的名字是我的代码下面的代码替换

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

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();
 }
}

0
投票

您使用不同的密钥发布值并使用不同的密钥,我相信这可能是原因,请使用以下内容替换您的隐藏输入

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

另外你需要注意php标签<?php ?>,它应该开始和结束PHP脚本。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.