gpt4 book ai didi

php - 使用php从数据库中删除评论

转载 作者:行者123 更新时间:2023-11-29 12:53:06 24 4
gpt4 key购买 nike

我正在制作一个论坛网页,我将在每个评论下放置删除此按钮。现在,当您按下此按钮时,我将使用 ajax 将评论 ID 发送到 PHP 文件,如下所示:

function Deletethis(index) {
var result = confirm("Want to delete?");
if (result==true) {
$.ajax({
url: "deletepost.php",
type: "POST",
data: index,
success: function(){
location.reload();
}
});
} else return false;
}

现在的问题是我无法从PHP端接收它。我使用了调试器并发现索引值是正确的。我的 PHP 看起来像这样:

<?php
$con = mysqli_connect("localhost", "root", "123", "test") or die("DIE");
if (isset($_POST['index'])) {
$SoonToBeDeletedComment = $_POST['index'];
};
$index = intval($SoonToBeDeletedComment);
mysqli_query($con, "DELETE FROM commentsbox WHERE commentsbox.`ID` = $index");
echo "Post Deleted...";
mysqli_close($con);
?>

我的代码没有给出任何错误,但也没有删除该帖子。当我在 navicat 上手动执行相同的过程时,它正在工作,所以我认为索引可能是一个字符串,它应该是一个整数。所以我使用了 intval 但它也没有解决问题。任何帮助我改进代码的想法都值得赞赏。提前致谢

最佳答案

在 jQuery 中 .ajax调用时,data 属性需要是一个对象,而不是字符串(实际上,它是完整的 GET 查询字符串,但它不是您需要的)。

所以,试试这个:

$.ajax({
url: "deletepost.php",
type: "POST",
data: {id: index},
success: function(response){
alert(response);
// location.reload();
}
});

然后在 PHP 中,将其获取为:

$_POST['id']
<小时/>

更新

健全性 list :

  • 您的 Deletethis 函数是否实际接收索引?
  • 您的 ajax 调用了正确的脚本吗?
  • 像我上面解释的那样,ajax 数据属性是一个对象吗?
  • PHP 脚本的输出是什么?
  • $_POST 的内容是什么?
  • $_POST数组中的id($_POST['id'])吗?
  • 数据库中是否存在具有该 ID 的行?

这些问题应该可以帮助您更准确地查明问题。

关于php - 使用php从数据库中删除评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24453736/

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