MySQL LIKE函数中%的用途是什么

时间:2015-02-14 20:16:19

标签: php mysql

当我使用PHP和MySQL学习搜索功能时,有一个查询代码:

SELECT id, category, location
FROM table
WHERE
(
    category LIKE '%keyword%'
    OR location LIKE '%keyword%'
)

我无法理解%在查询中使用并且使用转义字符,%keyword%必须使用%$variable%进行更改。

1 个答案:

答案 0 :(得分:2)

%是任意字符串的占位符。

因此,如果您有WHERE category LIKE '%keyword%'内容,则会返回包含“关键字”一词的所有类别。

我想您要找的是找到包含给定关键字的内容,关键字在您的变量中,因此WHERE category LIKE '%$variable%'$variable,其中%是保存关键词。当然有一些问题,比如关键字不能包含{{1}}本身,否则必须进行转义,并且存在可能的SQL注入问题,应该使用prepared statements来解决,但这些问题似乎有点超出了问题的范围。