2017-01-08 4 views
0

Ich habe Probleme, geänderten Text zu SQL, über PHP und Ajax zu aktualisieren.Zufriedenstellbares Update PHP, SQL, AJAX - im Netzwerk zeigt es Erfolg?

Ich bin mir nicht sicher, welche nicht korrekt ist, sind es die Daten, die über Ajax gesendet werden, oder ein Problem mit der PHP-Datei?

Das ist mein HTML-Datei

<tr> 
<td class="editingTab" contenteditable='true' class="texting">{{user.id}}</td> 
<td contenteditable='true' >{{user.first_name}}</td> 
<td contenteditable='true' >{{user.last_name}}</td> 
<td contenteditable='true' >{{user.email}}</td></tr> 

Diese JS

$(document).on('blur','table td',function(){ 

    var name = $(this).text(); 

    var last = $(this).text(); 

    var email = $(this).text(); 


    var getId = $(this).parent().parent().parent().attr('id'); 
     $.post('update.php',{name:name, last:last, email:email, id:getId}, function(data){ 

      if(!data) { 
    alert("Failed"); 
    } 
    else {console.log(data); 
    } 
    }); 
    $(this).toggleClass('toggled'); 
}); 

Datei protokolliert und hier ist die PHP-Datei

<?php 

    $conn = mysqli_connect('localhost','nemkeang','nemkic23','users'); 

    $id = $POST_['getId']; 
    $name =$_POST['name']; 
    $last =$_POST['last']; 
    $email =$_POST['email']; 

    $sql = "UPDATE user 
    SET first_name = '".$name."', 
     last_name = '".$last."', 
     email = '".$email."' 
    WHERE id = '".$id."'"; 

    if (!mysqli_query($conn,$sql)) { 
     die('Error: ' . mysqli_error($conn)); 
    } 
    echo "success: ".$name." "; 

    mysqli_close($con); 

?> 

Antwort

0

Ich denke Problem bekommen id ist so Betrieb aktualisieren wird fehlgeschlagen.Versuchen Sie dies ...

Die Funktion mysqli_real_escape_string() entnimmt Sonderzeichen in einer Zeichenfolge zur Verwendung in einer SQL-Anweisung. Verwenden Sie dazu mysqli_real_escape_string().

<?php 

    $conn = mysqli_connect('localhost','nemkeang','nemkic23','users'); 

    $id = mysqli_real_escape_string($conn,$_POST['id']); // 
    $name =mysqli_real_escape_string($conn,$_POST['name']); 
    $last =mysqli_real_escape_string($conn,$_POST['last']); 
    $email =mysqli_real_escape_string($conn,$_POST['email']); 

    $sql = "UPDATE user 
    SET first_name = '$name', 
     last_name = '$last', 
     email = '$email' 
    WHERE id = '$id'; 

    if (!mysqli_query($conn,$sql)) { 
     die('Error: ' . mysqli_error($conn)); 
    } 
    echo "success: ".$name." "; 

    mysqli_close($con); 

?> 
+0

Dank funktionierte es toll :) – NemanjaD

+0

willkommen @NemanjaD und im voraus genießen. –