2017-10-25 1 views
1

Stimmt etwas nicht mit meiner Funktion? Ich habe einen einfachen Task-Manager mit einer Blog-Seite erstellt. Dies ist die gleiche Funktion, die ich zum Aktualisieren von Tasks in der Tabelle task verwendet habe, die so geändert wurde, dass stattdessen die Tabelle Blog aktualisiert wird.Warum funktioniert meine UPDATE-SQL-Abfrage nicht? Wird die Tabelle nicht aktualisiert

function update_blog($blogpost) { 
    global $db; 

    $sql = "UPDATE Blog SET "; 
    $sql .= "blog_date='" . db_escape($db, $blogpost['blog_date']) . "', "; 
    $sql .= "blog_content='" . db_escape($db, 
    $blogpost['blog_content']) . "' "; 
    $sql .= "WHERE id='" . db_escape($db, $blogpost['id']) . "' "; 
    $sql .= "LIMIT 1"; 

    $result = mysqli_query($db, $sql); 

    if($result) { 
     return true; 
    } else { 
     // UPDATE failed 
     echo mysqli_error($db); 
     db_disconnect($db); 
     exit; 
    } 
} 

Von edit.php, wird der Benutzer zu blog.php umgeleitet auf ihre Blog-Post Änderungen einreichen. Die Änderungen werden jedoch nicht angezeigt und die Tabelle selbst wird nicht aktualisiert. Fehle ich hier etwas Einfaches?

+0

auf Fehler überprüft? – ProEvilz

+0

Ist '$ result' wahr oder falsch? Wie wird die eigentliche Laufzeit-SQL-Abfrage ausgeführt? Was passiert, wenn Sie diese Abfrage manuell ausführen? – David

+2

versuchen Sie, die SQL vor der Ausführung zu echo und verifizieren Sie es – Thamaraiselvam

Antwort

0

Es könnte etwas mit einem Datensatz zu tun haben, bei dem db_escape($db, $blogpost['id']) nicht in der Datenbank vorhanden ist (wenn die Abfrage nicht fehlschlägt). Ich würde empfehlen, ein einfaches SELECT ausführen, um zu sehen, wie viele Zeilen vorhanden ist, z.B .:

SELECT * 
FROM Blog 
WHERE id = <value of db_escape($db, $blogpost['id'])>; 

Wenn Sie keine Zeilen erhalten, die wahrscheinlich bedeutet, es gibt keine Aufzeichnungen vorhanden und daher kein Update. Je nachdem, was Sie im Formular haben, müssen Sie in diesem Fall möglicherweise einen anderen Wert übergeben.

Verwandte Themen