如何在MySQL数据库中搜索特定字符串

时间:2010-03-21 02:57:21

标签: php mysql search

我正在尝试在我的网站上设置搜索功能,该搜索功能只返回用户输入的关键字的完全匹配。因此,如果用户搜索“狗”,我不希望在搜索结果中出现标题为“Doggy Style”的文章(仅举一个例子,我并没有真正拥有该名称的文章)。这当然就是这样:

SELECT * FROM articles WHERE article_title LIKE '%$searchQuery%'
这里的$ searchQuery是一个从用户输入表单中获取的PHP变量。那么有没有办法只返回完全匹配?

4 个答案:

答案 0 :(得分:4)

SELECT * FROM articles WHERE article_title = '$searchQuery'

会返回完全匹配。注意从'like'到'='的变化,注意%符号已被删除。

另外请确保永远不要使用来自用户表单的直接输入作为输入来搜索MySQL数据库,因为它不安全。

答案 1 :(得分:1)

对于完全匹配,您可以这样做:

SELECT * FROM articles WHERE article_title = '$searchQuery'

在MySql中,非二进制字符串比较默认情况下不区分大小写。

答案 2 :(得分:1)

SELECT * FROM articles WHERE article_title = '$searchQuery'

答案 3 :(得分:-1)

我认为你应该这样做,它很完美。

SELECT * FROM articles WHERE article_title =' $ searchQuery'

执行(阵列('%' $ SEARCHQUERY'%'))