gpt4 book ai didi

php - 如何通过 mysql 中的 JOIN 搜索改进我的 LIKE?

转载 作者:可可西里 更新时间:2023-11-01 06:38:37 25 4
gpt4 key购买 nike

我目前有一个如下所示的搜索:

SELECT s.ID 
FROM Shoe s
INNER JOIN Account a
ON s.UserID = a.ID
WHERE s.Publish='1' AND
(s.Brand LIKE '%$Search%'
OR s.Name LIKE '%$Search%'
OR s.PrimaryColor LIKE '%$Search%'
OR a.User LIKE '%$Search%')
ORDER BY s.ID DESC
LIMIT $offset, $rowsPerPage"

当我进行诸如“Blue”或“Nikes”之类的搜索时,这工作正常,但如果我进行诸如“Blue Nikes”之类的搜索,则没有任何返回。我应该使用 FULLTEXT 吗?我该如何改进呢?我希望能够搜索可能与搜索变量相关的所有列。

最佳答案

所以在搞砸和测试不同的东西之后,我想到了这个:

"FROM Shoe AS s
LEFT JOIN Accounts AS a ON s.UserID = a.ID
WHERE (MATCH (s.Brand, s.Name, s.PrimaryColor AGAINST('$Search' IN BOOLEAN MODE)
OR MATCH (a.User) AGAINST('$Search' IN BOOLEAN MODE))
AND s.Publish='1'
ORDER BY s.ID DESC"

这似乎解决了我上面提到的问题,我现在可以搜索“Blue Nike”,所有与 blue & nike 相关的项目都会显示出来。不确定这是否是最有效的方法,但它确实有效。

关于php - 如何通过 mysql 中的 JOIN 搜索改进我的 LIKE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12865089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com