将textarea
插入到数据库中,当我检索它时...每个报价前都有一个反斜杠。从数据库中存储和检索电子邮件正文
我将电子邮件的正文保存到数据库单元格中。在使用wp_editor()
时,建议使用wp_kses_post()
转义所有内容,以便将所有与html相关的内容以及将内容存储在数据库中时不会出现的内容都转义出来。
我的问题可能会或可能不会必须与wp_kses_post()
。问题是,当我检索到的内容转换成电子邮件,什么我摆在那了引号的电子邮件以斜线走了出来......所以
我
成为
I \'M
等等
更新:
这让我疯狂。我没有做任何手动转义!
这是我现在做:
在形式:<textarea id="cc-email" name="cc-email" cols="80" rows="10"></textarea>
插入它:
$cc_email = $_POST['cc-email'];
$query = "INSERT INTO wp_forms (formID, cc_email)
VALUES (?, ?)";
$stmt = mysqli_prepare($connection, $query) or error_log('stmt error: '.mysqli_error($connection));
mysqli_stmt_bind_param($stmt, "is", $formID, $cc_email);
if (!mysqli_stmt_execute($stmt)) {
error_log('stmt error: '.mysqli_stmt_error($stmt));
}
mysqli_stmt_free_result($stmt);
输出它:基于研究
$query = "SELECT cc_email FROM wp_forms WHERE formID=?";
$stmt = mysqli_prepare($connection, $query) or error_log('stmt error: '.mysqli_error($connection));
mysqli_stmt_bind_param($stmt, "s", $formID);
if (!mysqli_stmt_execute($stmt)) {
error_log('stmt error: '.mysqli_stmt_error($stmt));
}
mysqli_stmt_bind_result($stmt, $cc_email);
mysqli_stmt_fetch($stmt);
mysqli_stmt_free_result($stmt);
我已经完成了,没有必要从数据库中取消输出。但为什么输出与所有的反斜杠转义?
你是如何插入数据库?由于某种原因,您看起来过早或双重逃跑。 – tadman
我编辑了这个问题以包含我如何插入它,wp_kses_post()是wp-includes目录的一部分。具体来说,在kses.php中。 –