ajax search 如何检查某个词组是否包含搜索到的词

ajax search how to check if certain phrase contain the searched words

所以我正在做一个 AJAX 搜索栏。现在我只知道如何搜索确切的词。我的 table

示例
ID|Skillset|Description|
1|game|i love game
2|photography|i love to take photo
3|game|game is my forte

现在我有这个查询来搜索数据库中的确切单词

PHP

$sql = "SELECT userdatafiles.UserID,Name,Link,Title FROM userdatafiles JOIN users ON userdatafiles.UserID = users.UserID WHERE Skillsets = '$searchBar' GROUP BY UserID ORDER BY RAND()";

所以如果用户输入游戏,它会显示匹配游戏的所有技能。

我想改进的是,我不只是搜索“技能集”列,而是同时搜索“技能集”和“描述”列。我希望用户能够输入 'gam' 之类的内容,而不是搜索完全匹配的词,只要有包含 'gam' 的词就会显示出来,它会在技能集和描述中搜索,示例 gam 是 'game' 的一部分,或者是 'i love game' 的一部分。我该怎么做?

您应该使用 LIKE 进行比较,并使用 CONCAT 来 select 您的字段搜索:

$sql = "SELECT userdatafiles.UserID, Name, Link, Title 
FROM userdatafiles ud JOIN users u ON userdatafiles.UserID = users.UserID 
WHERE concat(ud.Skillsets, ud.description) LIKE '%$searchBar%' 
GROUP BY UserID ORDER BY RAND()";