0
語境: 我試圖創建自己的網站搜索功能,用戶可以在完整的句子類型和基於關鍵詞的句子存儲在MySQL數據庫中的匹配用言語接收結果:partial關鍵字在MySQL中搜索
**ID | Skill**
1 | Painting
2 | Carpenter
3 | Builder
例如用戶可以搜索「我想要一些畫做」並使用下面的MySQL查詢(連同一個foreach和爆炸的功能),它會從數據庫返回ID 1 :
$stmt = $mysqli->prepare ("SELECT username FROM users WHERE users.id IN (SELECT
skills.userid FROM skills WHERE skills.skill LIKE CONCAT('%',?,'%') GROUP BY
skills.skill ORDER BY CASE WHEN skills.skill LIKE CONCAT(?,'%') THEN 0 WHEN
skills.skill LIKE CONCAT('% %',?,'% %') THEN 1 WHEN skills.skill LIKE CONCAT('%',?)
THEN 2 ELSE 3 END, skills.skill)");
考試問題: 我遇到的問題是,如果用戶輸入「我想要一個畫家」,那麼ID 1將不會返回。如何查詢將被修改的事實,繪畫和畫家是相似的,所以應該歸還?
您將使用同義詞表來包含所有技能的同義詞。 –
考題有問題?你要求我們做你的功課嗎? –
@CarlMarkham PHP和MySQL的作業?什麼樣的教育工作者使用這些工具進行教學?別傻了。 –