我正在尝试更正已经双重转义的数据库中的条目.我相信当使用mysql_real_escape_string时,magic_quotes已经打开了.双重转义导致一些搜索结果不正确/丢失.
我已关闭magic_quotes并计划搜索带有反斜杠的条目并更新它们以删除任何双重转义.麻烦的是,当我执行查询以搜索带有反斜杠的条目时,我总是得不到任何结果.
SELECT title FROM exampletable WHERE title LIKE '%\\\\%'
Run Code Online (Sandbox Code Playgroud)
我在这里推荐使用'%\\\\%':http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
如果我输出每个标题,其中很多都有不需要的反斜杠,所以我知道它们就在那里.我似乎无法在查询中隔离它们.
Example Data:
Old King\'s Road
Running Down A Dream
Can\'t Stop The Sun
This One's For Me
Run Code Online (Sandbox Code Playgroud)
再次,只是尝试返回带有\的条目.
编辑:MySQL版本是5.0.92社区.整理是latin1_swedish_ci.Charset是UTF-8 Unicode
%\\%不起作用.我试过了.它在mysql.com上列为不正确:
要搜索"\",请将其指定为"\\\\"; 这是因为反斜杠被解析器剥离一次,并且在进行模式匹配时再次剥离,留下一个反斜杠来匹配.