Frage

Ich habe einige Lesen auf mySQLI_REAL_ESCAPE_STRING () gelesen und nachdem ich meinen Inhalt richtig entkommen bin, habe ich Probleme, richtig anzuzeigen, wenn ich es wieder heraushole.

Hier ist der Code, den ich habe:

function update_section_content() {
    $name = mysqli_real_escape_string($this->conn, $_POST['name']);
    $text = mysqli_real_escape_string($this->conn, $_POST['content']);

    // First, we do an update
    $update_query = "UPDATE sections SET content = ? WHERE name = ?";
    if($update_stmt = $this->conn->prepare($update_query)) {
        $update_stmt->bind_param('ss', $text, $name);
        $update_stmt->execute();
        // If the update was successful, read in what we just updated
        if($update_stmt->affected_rows == 1) {
            $read_query = "SELECT content FROM sections WHERE name = ?";
            if($read_stmt = $this->conn->prepare($read_query)) {
                $read_stmt->bind_param('s', $name);
                    $read_stmt->execute();
                $read_stmt->bind_result($content);
                if($read_stmt->fetch()) {
                    echo nl2br($content);
                }
            }
        }
        $read_stmt->close();
        $update_stmt->close();
}

Meine Hoffnung auf den folgenden Code war, dass er einen Datensatz aktualisieren und allen schlechten Charakteren entkommen und dann nach Erfolg die aktualisierte Abfrage zurücklesen und gleichzeitig seine vorherige visuelle Integrität beibehalten. (Das heißt, ich möchte für den Textbereich, in dem dieser Inhalt wiedergegeben wird, um Neulinien und nicht die BR -Tags anzuzeigen.)

Leider bekomme ich ab sofort immer noch neue Zeilen Charaktere, nachdem ich entkommen war. Was vermisse ich?

Vielen Dank für Ihre Zeit, und jeder Rat wird sehr geschätzt.

Leider ist das nicht der Fall. Ich bekomme immer noch Newline -Charaktere

War es hilfreich?

Lösung

Da Sie vorbereitete Aussagen verwenden, sollten Sie Ihren Saiten nicht auch entkommen.

Die String -Flucht ist für die Einbettung der Werte in die SQL -Abfrage -Zeichenfolge selbst, aber durch die Verwendung vorbereiteter Aussagen vermeiden Sie dies zu Recht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top