2017-04-14 21 views
0

我想刪除帖子併發送ID值,它通過一份聲明中查詢刪除該信息的PHP文件..與AJAX的問題得到解決,以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被發現,如果我改變目前的網址代碼沒有達到代碼中的「成功」點,這讓我覺得這不是問題。

這裏的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鏈接正確就在這裏,有什麼能問題鹼液?

+1

嘗試調用來自瀏覽器的php文件具有適當的參數並查看它返回的內容。如果你沒有看到JS的成功,AJAX調用可能會失敗。您可能必須爲您的AJAX呼叫添加失敗處理程序。 –

+0

要從瀏覽器進行調用,您可能需要修改php腳本並使用$ _REQUEST而不是$ _GET。 –

+0

'成功'塊沒有達到,但記錄從jQuery傳遞的'id'的表中刪除? –

回答

0

由於您的ID可能是int,嘗試使用「我」綁定您的PARAM即

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

沒有工作不幸。 –

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

    .. 
    .. 
?>