为什么在运行MySQL查询时会丢弃反斜杠

时间:2016-12-28 11:38:03

标签: php mysql

select * from files where filename=\'this.txt\''

我查看了MySQL is not inserting a backslash并且无法找到\被删除的确切原因。

长话短说(我知道安全隐患......)以上内容存储在一个单元格中。然后执行单元格的内容。我的问题是为什么不存在反斜杠存在的问题?

简而言之,为什么当我认为正确的方法是

时,这是有效的
select * from files where filename='this.txt'

PHP涉及查询的运行方式

$result = mysqli_query($db,$query)

1 个答案:

答案 0 :(得分:0)

ESCAPE角色通常在放两次时工作。

如果你想存储反斜杠,那么你可以通过添加更多\\来逃避它。

你会在这里找到完整的参考资料

http://dev.mysql.com/doc/refman/5.7/en/string-literals.html