我正在使用 PHP 和LIKE
方法在 MySQL 数据库上搜索,一切都很好,除非我输入一些字符,如#
, _
,&
它返回所有行,即使没有任何行上有任何这个字符。
其他字符,如/
, "
,'
效果很好,只显示包含这些字符的行。
以下代码是我用来获取这些结果的代码。
mysql_query("SELECT * FROM articles WHERE title LIKE '%$value%'")
_
是一个特殊字符,表示任意单个字符,与%
表示任意多个字符序列的方式相同
\
是一个转义字符,用于搜索文字百分比字符\%
、下划线\_
或斜杠\\
(除非NO_BACKSLASH_ESCAPES
启用模式)
编辑
详情见手册_
您可以尝试使用mysql_real_escape_string()
函数。
http://php.net/manual/tr/function.mysql-real-escape-string.php