Вопрос

Я прочитал некоторое чтение на mysqli_real_escape_string (), и, после того, как я правильно сбежал мой контент, у меня возникают проблемы с тем, чтобы отображать правильно, когда я снова его вытаскиваю.

Вот код, который у меня есть:

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

Моя надежда на следующий код заключалась в том, что он обновит запись и избежит любых плохих символов, а затем, после успеха, прочитал обновленный запрос обратно, сохраняя при этом предыдущую визуальную целостность. (То есть я бы хотел для Textarea, в этот контент появляется эхо, чтобы отображать новые линии, а не теги BR.)

К сожалению, на данный момент я все еще показываю персонажей Newline, показанные после побега. Что мне не хватает?

Большое спасибо за ваше время, и любой предоставленный совет очень ценится.

К сожалению, это не так. Я все еще получаю персонажей Newline

Это было полезно?

Решение

Поскольку вы используете подготовленные заявления, вы также не должны избегать своих строк.

Строка строки - это когда вы внедряете значения в саму строку запроса SQL, но, используя подготовленные операторы, вы вполне справедливо избегаете этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top