使用LIKE搜索未返回预期结果


Searching using LIKE not returning expected result

我使用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