gpt4 book ai didi

mysql - 一个 "Search"mysql 查询问题

转载 作者:行者123 更新时间:2023-11-30 23:29:54 25 4
gpt4 key购买 nike

我有这个查询,我可以在其中搜索 TABLE_GLOBAL_PRODUCTS

$catglobal_sql = "
select p.*,
case when
p.specials_new_products_price >= 0.0000
and p.expires_date > Now()
and p.status != 0
then p.specials_new_products_price
else p.products_price
end price
from ".TABLE_GLOBAL_PRODUCTS." p
INNER JOIN ".TABLE_STORES." s ON s.blog_id = p.blog_id
where
MATCH (p.products_name,p.products_description) AGAINST ('%".$search_key."%')
OR p.products_name like '%".$search_key."%'
order by p.products_date_added DESC, p.products_name";

这里的问题是,当我搜索像 Cotton Shirts 这样的短语时,它会显示正确的结果。但是,当我只输入一个单词(如 Cotton)时,它不会显示任何结果,而不是像你输入一个短语(如 Cotton Shirts)时那样显示结果。

最佳答案

在使用 MATCH ... AGAINST ... 时使用 * 而不是 % 作为通配符所以你的代码的匹配部分应该是这样的:

...

MATCH (p.products_name,p.products_description) AGAINST ('*".$search_key."*')

...

在 MATCH 中,通配符略有不同

要匹配零个或多个字符,请使用

  • 在匹配'*'中
  • 喜欢'%'

要匹配任何单个字符,请使用

  • 在 MATCH '?' 中
  • 像'_'一样

关于mysql - 一个 "Search"mysql 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11278635/

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