如何使用MYSQL IN Operator通过php数组获取多个记录

问题描述 投票:-1回答:1
 $region_arr=array('Capital','ABC','Def');
 $RegionStr = implode(',', $region_arr);
 $sql="SELECT tax_id from bf_taxes where tax_region IN ('$RegionStr')";

这个查询对我不起作用。当它回应时,结果是

 SELECT tax_id from bf_taxes where tax_region IN ('Capital,ABC,DEF');

这是错的。查询应该是

 SELECT tax_id from bf_taxes where tax_region IN ('Capital','ABC','DEF');

然后查询会给我准确的结果。所以我建议我需要在我的代码中进行更改以达到预期的结果。

php
1个回答
1
投票

通过在区域之前和之后引用引号(')来尝试这样的,

$region_arr=array('Capital','ABC','Def');
$RegionStr = "'".implode("','", $region_arr)."'"; //see this line
$sql="SELECT tax_id from bf_taxes where tax_region IN ($RegionStr);";
echo $sql;

输出:

选择来自bf_taxes的tax_id,其中tax_region IN('Capital','ABC','Def');

© www.soinside.com 2019 - 2024. All rights reserved.