AJAX GET到PHP文件的问题

时间:2017-04-14 22:03:00

标签: php mysql ajax

我正在尝试删除帖子并将ID值发送到PHP文件,该文件通过预准备语句查询删除帖子。

我发送ID值如下,jQuery正常工作并正确注册ID值(已通过console.log测试)

<script type="text/javascript">
$("#delete-btn").click(function(){
    var id = $(this).attr("data-value");
    var parent = $(this).parent().parent();
    $.ajax({
       method: "GET",
       data: {id: id},
       url: "../php/delete-user.php",
       success: function(){
           $(this).val("");
           parent.slideUp("fast");
           console.log(id);
       }});
})
</script>

所以我认为这个问题是在PHP文件中,它似乎是通过正确的URL找到的,如果我改变了当前的URL,代码没有达到&#34;成功&#34;在代码中指出,这让我认为这不是问题。

这是PHP:

<?php
session_start();
include("connect.php")
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

if(isset($_GET['id'])){
    $id = $_GET['id'];

    $stmt = mysqli_prepare($conn, "DELETE FROM users WHERE ID = ?");
    mysqli_stmt_bind_param($stmt, "s", $id);
    mysqli_stmt_execute($stmt);
}
else {
    echo mysqli_error($conn);
}
echo mysqli_error($conn);
mysqli_close($conn);
?>

我可以通过新手眼睛看到,没有编码问题,并且connect.php已正确链接,那么这个问题可以在哪里解决?

2 个答案:

答案 0 :(得分:0)

由于您的id可能是int,请尝试使用&#34; i&#34;绑定你的param,即。

mysqli_stmt_bind_param($stmt, "i", $id);

答案 1 :(得分:0)

这只是一个小修复,错误可能只是印刷。然而,PHP代码尽管被AJAX正确调用,但没有从表中删除任何记录的原因很可能是因为代码的执行会因语法错误而突然结束:

<?php

    session_start();
    // include("connect.php")           //---> Missing semicolon; syntax error
    include("connect.php");             //---> Fixed
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    ..
    ..
?>