2017-04-14 12 views
0

Ich versuche, einen Beitrag und Senden des ID-Wertes auf eine PHP-Datei zu löschen, die die Post durch eine vorbereitete Erklärung Abfrage löscht ..Probleme mit AJAX GET zu PHP-Datei

ich den ID-Wert wie folgt zu senden, und die jQuery arbeitet und registriert die ID-Wert richtig (haben mit console.log getestet)

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

So Figur, die ich das Problem in der PHP-Datei ist, die es scheinen, durch die richtige uRL zu finden, wenn ich ändern die aktuelle URL der Code erreicht nicht den "Erfolg" -Punkt im Code, was mich denken lässt, dass das nicht das Problem ist.

Hier ist der 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); 
?> 

Was ich mit meiner newbie Augen sehen kann, gibt es keine Codierung Problem, und die connect.php richtig verknüpft, so was kann das Problem Lauge hier vor?

+1

Versuchen Aufruf die PHP-Datei von einem Browser mit den richtigen Parametern und sehen, was es zurückgibt. Wenn der Erfolg in Ihrem JS nicht angezeigt wird, schlägt der AJAX-Aufruf möglicherweise fehl. Möglicherweise müssen Sie Ihrem AJAX-Aufruf einen Fehlerbehandler hinzufügen. –

+0

Um von einem Browser aus aufzurufen, müssen Sie möglicherweise das PHP-Skript ändern und $ _REQUEST anstelle von $ _GET verwenden. –

+0

Der 'Erfolg'-Block ist nicht bei erreicht, aber wird der Datensatz aus der Tabelle für die von jQuery übergebene' id 'gelöscht? –

Antwort

0

Da Ihre ID könnte ein int sein, versuchen Sie es mit „i“ binden Ihre param heißt

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

Hat leider nicht funktioniert. –

0

Dies ist nur ein kleines Update und der Fehler möglicherweise nur typografische gewesen. Doch der Grund, warum der PHP-Code, obwohl sie von AJAX richtig aufgerufen wurde, keinen Datensatz aus der Tabelle gelöscht haben ist höchstwahrscheinlich, weil die Ausführung des Codes abrupt aufgrund eines Syntaxfehler beendet haben würde:

<?php 

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

    .. 
    .. 
?>