我有这样的事情:$foo = mysql_real_escape_string($_GET["t"])
。我们假设t = Stack's Overflow
。
在这种情况下,我回显$ foo,它会返回类似Stack\\\'s Overflow
的内容。如何阻止这种行为并使$ foo等于我没有逃脱它的情况?
即使使用strip_slashes()
,我仍然会得到最后一个斜线。
这就是我的字符串:
Stack\'s
。字符串以Stack\'s
的形式一直到最后一页(这应该是它)。但是,查询不返回类似的结果,即使这是它在数据库中的确切方式。
修改
此外,当它击中&符时它会拧紧。就像我有t = Stack & Overflow
一样,它只会将Stack
存储在变量$ foo中。
答案 0 :(得分:1)
在转义之前,从GET变量中禁用魔术引号或条带斜线。
答案 1 :(得分:1)
假设您已经禁用了magic_quotes(从php 5.2.0开始,默认情况下),可能只是您多次逃避输出。
检查它可能会有所帮助,因为函数的目的是在数据库中按字面意思放置相同的数据,而不是在检索时会被误解的奇数字符。