gpt4 book ai didi

php - 使用数组放入where条件MySQL查询

转载 作者:行者123 更新时间:2023-11-29 00:00:58 24 4
gpt4 key购买 nike

我正在为我的网站使用 wordNet 数据库,我正在寻找同义词。

场景是

该网站是一个电子商务网站。有一个用户搜索框。一旦用户输入要搜索的关键词,系统会根据用户输入直接找到一个同义词,并与我自己的数据库匹配并显示结果。因此,例如,在我的数据库中,只有名为 microwave 的项目。但是在我得到微波炉的同义词之后,还有另一个基于微波炉的同义词,比如 toastr 。

所以,我想要的是,即使用户输入“ toastr ”,系统也会显示微波的结果,因为这两个东西基本上是一样的。

我正在考虑将来自 wordNet 数据库的第一个同义词结果放入一个数组中。但是,问题是如何根据同义词显示结果?

我正在考虑这样的查询。这个查询是从我自己的数据库中获取数据,并使用从wordnet数据库中检索到的数据列表

Select the information needed
from the database table
where category.name LIKE (the array of result from wordnet database)

我走对路了吗?

请注意,我已成功从 wordnet 数据库中检索到同义词。问题是我如何使用从 wordnet 数据库检索到的同义词列表来生成来 self 的数据库的数据?

有人可以指导我吗?

非常感谢提供的任何帮助。谢谢

最佳答案

假设 $array 包含来自 wordNet 的同义类别。要将其转换为可在查询中使用的字符串,请执行以下操作:

$category_string = '"' . implode('","',$array) . '"';

这会将您的数组变成一个字符串,并用 "," 分隔元素。该字符串的结尾和开头也将有一个 ",因此它可以插入到 SQL IN 语句中。

您的 SQL 命令需要将三个表(productscategoriesproduct_categories)JOIN 在一起并设置所需类别名称的 WHERE 过滤器。 SELECT 命令应与此类似:

SELECT * FROM products, categories, product_categories WHERE products.product_id = product_categories.product_id AND product_categories.category_id = categories.category_id AND categories.category_name IN (INSERT CATEGORY NAMES)

如果要使用 PHP 运行您的 SELECT 命令,它必须如下所示:

$sql = 'SELECT * FROM products, categories, product_categories WHERE products.product_id = product_categories.product_id AND product_categories.category_id = categories.category_id AND categories.category_name IN (' . $category_string . ')';

关于php - 使用数组放入where条件MySQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29877587/

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