Php 从值为数组的MySQL表中选择行?

Php 从值为数组的MySQL表中选择行?,php,mysql,Php,Mysql,我有一张带有ID列表的表。我使用一个查询来选择它,然后将它作为一个数组获取,我知道如何做。然后,我想从另一个表中选择行,其中ID位于先前获取的数组中 我该怎么做?提前感谢。您很可能希望在。。。键入查询。它本质上等同于,场=X或场=Y或场=Z或。。。对于in条款中列出的每个值 select value1,value2 from table2 where id in (1,2,3,4,5) 考虑到您已经有了一个ID数组,最简单的方法是像这样构建查询: $where_in = implode(','

我有一张带有ID列表的表。我使用一个查询来选择它,然后将它作为一个数组获取,我知道如何做。然后,我想从另一个表中选择行,其中ID位于先前获取的数组中


我该怎么做?提前感谢。

您很可能希望在。。。键入查询。它本质上等同于,场=X或场=Y或场=Z或。。。对于in条款中列出的每个值

select value1,value2 from table2 where id in (1,2,3,4,5)
考虑到您已经有了一个ID数组,最简单的方法是像这样构建查询:

$where_in = implode(',', $ids_array);

$query = "SELECT ... FROM yourtable WHERE idfield IN ($where_in);";

常用的但书-小心SQL注入孔,总是检查查询结果是否失败等等。

< P>你可以避免这样做,并考虑表。一个查询将按ID获取匹配的记录

例如

SELECT * FROM table1 t1 JOIN table2 t2 ON t1.ID=t2.ID

您可以在一个查询中完成此操作

像这样的 从table2中选择table2.id,其中table2.id在table1中选择table1.id,其中blabla

假设$values是数组,您可以使用mysql IN关键字和php内爆函数来构造查询

$sql = "SELECT a, b FROM table WHERE id IN (" . implode(", ",$values) . ")";
内爆将使用,

这不是$query=SELECT吗。。。从你的桌子上看,idfield在哪。$WHERE_在哪?否。学习基本PHP语法: