Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过传递数组从mysql数据库中检索数据_Mysql_Sql - Fatal编程技术网

如何通过传递数组从mysql数据库中检索数据

如何通过传递数组从mysql数据库中检索数据,mysql,sql,Mysql,Sql,我有一个由前端传递的动态id数组。我需要从mysql数据库获取数据,其中元组ID与我传递的ID匹配 示例Id数组:[6,7,…] 项目数量可根据不同的要求而有所不同 SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id=id1 OR expense_category_id=id2; id1、id2是来自前端的ID。(6,7,…) 可以有多个来自前端的ID。 请问在这种情况下,有没有办法

我有一个由前端传递的动态id数组。我需要从mysql数据库获取数据,其中元组ID与我传递的ID匹配

示例Id数组:[6,7,…]

项目数量可根据不同的要求而有所不同

SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id=id1 OR expense_category_id=id2;
id1、id2是来自前端的ID。(6,7,…)

可以有多个来自前端的ID。 请问在这种情况下,有没有办法从一个查询中提取数据。
或者我必须编写多个查询才能执行?

要基于值数组选择数据,可以使用-关键字中的
。在您的情况下,它将如下所示:

SELECT expense_type, expense_category
FROM expense_type
WHERE expense_category_id IN ('id1', 'id2');

您需要使用多个ID的数组进行查询

像下面这样

query = 'SELECT expense_type, expense_category FROM expense_type WHERE expense_category_id IN (`;
forEach(ids as id) {
 query += id + ','
}
运行查询..

您可以轻松地在中使用。 也可以尝试使用Join。因此,查询的准确性将得到提高

SELECT expense_type, expense_category
FROM expense_type
WHERE expense_category_id IN ('id1', 'id2');

有两种方法。首先,您可以在('1','2','3')中使用。第二种方法是在临时表中插入这些值,通过对该临时表使用JOIN可以得到结果。