gpt4 book ai didi

php - 如何使用 php 中具有相同名称的表单删除 MySQL 中的特定行?

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:16 26 4
gpt4 key购买 nike

我的网页上有一系列文章。其中每一个都有一个同名的删除表单(“文章”)。我所有的帖子都是通过 ajax 完成的并且工作正常!我现在遇到的一个问题是只有最后一篇文章被删除了。隐藏的输入在数据库中具有行号的值这是我得到的输出:

  'deletearticle' => 'article=31&article=27&article=21',

这是我的 AJAX:

    $('.deleteForm').submit(function() {
$.ajax({
url: 'functions/check.php',
type: 'POST',
data: {
deletearticle: $('.deleteForm').serialize()
},
success: function(data){
window.location.reload(true);
}
});
return false;
});

这是我的删除

    if (isset($_POST['deletearticle'])) {
parse_str($_POST['deletearticle'], $deletearticle);
$id = $deletearticle['article'];

try {
$stmt = $DB_con->prepare("DELETE FROM articles WHERE id = ".$id." ");
$stmt->execute();
} catch (PDOException $e) {
echo "Fail: ".$e->getMessage();
}
}

编辑 我确实知道 name=XXX[]。它只是不告诉我数组中的哪一个被用户选择删除。

最佳答案

您只需要使用 article[] 语法作为表单元素名称。

然后 PHP 自动将其转换为参数数组。

当然你需要将你的 SQL 改成类似的东西

WHERE articleId IN( ' . $articleIds . ' )

但首先阅读正确的 sql 转义 http://php.net/manual/de/security.database.sql-injection.php

关于php - 如何使用 php 中具有相同名称的表单删除 MySQL 中的特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31692438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com