我正在为我的网站编写用户搜索功能,目前它只返回结果,但仅用于完全匹配。
当前的SQL查询是:
SELECT * FROM users WHERE firstname='$term' OR lastname='$term' OR url='$term' OR firstname='".$termExploded[0]."' ORDER BY hits DESC
我如何更改此查询,以便它还检查$ term(或相关的$ termExploded [0])的开头是否与术语匹配?
这是我自己想出的,但这不起作用:
SELECT * FROM users WHERE firstname='$term' LIKE '$term%' OR lastname='$term' LIKE '$term%' OR url='$term' LIKE '$term%' OR firstname='".$termExploded[0]."' LIKE '$term%' ORDER BY hits DESC
非常感谢提前:)
答案 0 :(得分:1)
SELECT *
FROM users
WHERE firstname LIKE '$term%' OR
lastname LIKE '$term%' OR
url LIKE '$term%' OR
firstname LIKE '$termExploded[0]%'
ORDER BY hits DESC
显然,您需要注意正确转义所有变量。