gpt4 book ai didi

PHP:在 mysql 中的字符串中搜索单词?

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

我正在尝试使用 PHP 在 mysql 数据库中的字符串中搜索单词。

我遇到的问题是它在我的 PHP 页面上搜索并输出结果,但任何接近搜索词的词也会在我的页面上得到结果。

为了更好地解释这一点,假设我有一个像这样的字符串:

women's clothing

现在,如果我搜索一个词 women,结果会正确显示在我的页面上 但是如果我搜索这个词 men,则会显示相同的结果在我的页面上因为女人这个词里面有男人这个词

这是我当前的 sql 查询:

SELECT id, category_name, image_url FROM data WHERE `category_name` LIKE '%$sub%' GROUP BY category_name

我试图将 '%$sub%' 更改为 '$sub' 但根本没有返回任何结果!

有人可以就此提出建议吗?

编辑:

category_name 列中的字符串各不相同且无法更改,因为它们来自外部 API。

这些字符串可能会有所不同。所以一个可能看起来像女装和裙子,另一个可能看起来像女鞋,另一个可能看起来像女包,另一个可能看起来像男鞋等等......

所以我需要做的是显示关键字 women 的所有结果并显示所有 men 的结果。我希望这是有道理的。

但目前,男性和女性的结果同时显示,因为正如我上面解释的,女性这个词中有男性这个词。

最佳答案

您可以使用 MySQL 的 REGEXP 运算符,使用单词匹配来做到这一点。

SELECT ... WHERE column REGEXP '[[:<:]]$sub[[:>:]]' ...

关于PHP:在 mysql 中的字符串中搜索单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33650132/

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