PHP 在插入 MySQL 时向字符添加斜杠

标签 php html mysql security filtering

例如,当在文本字段中输入 ' 时,PHP 会在其前面放置一个\。

我使用以下内容进行过滤:

$comment_body = $_POST['comment_body'];
$comment_body = nl2br(htmlspecialchars($comment_body));
$comment_body = mysqli_real_escape_string($db_conx,$comment_body); 

如何阻止该斜杠出现?

最佳答案

您应该对上下文进行清理:

保存到数据库时仅使用mysqli_real_escape_string()。将变量输出到 HTML 时,只需使用 htmlspecialchars()

自动添加斜杠可能是由于 ma​​gic_quotes_gpc 的设置造成的,该设置已在较新版本的 PHP 中删除,但您可以在 phpinfo(); 中检查设置;

关于PHP 在插入 MySQL 时向字符添加斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037124/

相关文章:

html - 在不知道尺寸的情况下垂直居中图像

java - 将嵌套 sql 查询转换为 jpa/hibernate

php - 根据我的查询,mysql 结果不显示

mysql - 哪种索引更适合简单检查

php - 如何验证 "php://input"是否已设置且不为空

javascript - onclick在php上显示MySQL fetch echo的值

javascript - 如何使用反向 float 和溢出渲染内联列表

javascript - 如何使 HTML 文本框不可点击

php - 使用 JavaScript 和 html 进行表单验证

php - psql - 根角色不存在