我一直在阅读 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 标签。)
不幸的是,到目前为止,我仍然在转义后显示换行符。我错过了什么?
非常感谢您的宝贵时间,非常感谢您提供的任何建议。
不幸的是,事实并非如此。我仍然得到换行符