我正在使用PHP和LIKE
方法搜索MySQL数据库,一切都很有效,除非我输入#
,_
,&
之类的字符,它会返回所有行即使没有任何行具有任何此类特征。
/
,"
,'
等其他字符效果很好,只显示包含这些字符的行。
以下代码是我用来获取这些结果的代码。
mysql_query("SELECT * FROM articles WHERE title LIKE '%$value%'")
答案 0 :(得分:2)
_
是一个特殊字符,表示任何单个字符,与%
表示任意多个字符序列的方式相同
\
是转义字符,如果您要搜索文字百分比字符\%
,下划线\_
或斜杠\\
(除非NO_BACKSLASH_ESCAPES
,模式已启用)
修改强>
有关详细信息,请参阅manual
答案 1 :(得分:-4)
您可以尝试使用mysql_real_escape_string()
功能。
http://php.net/manual/tr/function.mysql-real-escape-string.php