从Apostrophes中删除前面的反斜杠

时间:2010-04-12 19:19:30

标签: php

当我使用下面的变量添加注释时,撇号会在它们前面打印出反斜杠。我怎样才能摆脱反斜杠?

提前致谢,

约翰

打印结果示例:

我的室友的前女友姨妈开了一辆丰田汽车。

$comment = mysql_real_escape_string($_POST['comment']);

3 个答案:

答案 0 :(得分:3)

mysql_real_escape_string()正在添加反斜杠,因此您可以将字符串安全地注入SQL查询 - 这可以起到SQL Injections 的保护作用。

此功能只应在您想要构建SQL查询时使用 - 而不是在您想输出内容时使用。

如果要将字符串输出到HTML页面,通常会使用htmlspecialcharshtmlentities来阻止XSS


如果您在调用mysql_real_escape_string()之前已经有一些反斜杠,那可能是因为Magic Quotes - 如果是这样,您可能需要首先在用户输入的stripslashes()上调用{不要复制反斜杠。

答案 1 :(得分:1)

来自http://php.net/manual/en/function.mysql-real-escape-string.php

Note: If magic_quotes_gpc is enabled, first apply stripslashes() to the data. Using this function on data which has already been escaped will escape the data twice.

答案 2 :(得分:0)

这不正是mysql_real_escape_string应该做的吗?如果在将数据插入数据库并将其取回后仍然看到斜杠,请确保已关闭magic_quotes_gpc服务器选项。