【发布时间】:2012-02-14 12:09:40
【问题描述】:
在数据库中,我在字段调用描述中存储了一些文本,保存在我的数据库中的字符串的值是Me\You "R'S'" %,这就是查询数据库命令行时的显示方式。
现在,在网页上,我有一个功能可以搜索此字段:
WHERE 描述 LIKE '%$searchstring%'
因此,当 $searchstring 被清理后,如果我正在搜索 Me\You,反斜杠将被转义并且我的查询显示为:
WHERE 描述 LIKE '%Me\\You%'
但是它没有返回任何东西。
这其中奇怪的部分是,当我搜索 Me\\You 或 Me\\\\You(所以两个或三个反斜杠,但不少或不多)时,它会返回一个反斜杠我期望的结果。
查询结果命令行时,不返回结果:
WHERE 描述 LIKE '%Me\You%'
或者当我使用两个或三个反斜杠时。
但是,如果我使用 4 - 7 个反斜杠,它将返回结果,例如:
WHERE 描述 LIKE '%Me\\\\\\\\You%'
将返回字符串Me\You "R'S'" %
任何人都有发生这种情况的理由吗?谢谢
【问题讨论】: