-1

我需要使用 mysqli 执行 'n' 联合(其中 n 根据用户输入而变化)。例如:

select a from b where a=c[1]
UNION
select a from b where a=c[2]
...
UNION
select a from b where a=c[n]

反正有没有迭代地做到这一点?类似的东西: for(i=1;i

注意:我只能在数据库上运行选择查询

4

2 回答 2

4

不需要联合

对于数字a,它将是

$c = array(1,2,3);
$c = array_filter(array_map('intval',$c));
$in = implode(',',$c);
$sql = "select a from b where a IN ($in)";

对于字符串的想法是一样的。

于 2012-12-23T14:31:38.547 回答
0

如果您总是需要,select a from b where a = dynamicvalue您可以将您的 dynamicValue 保存在临时表中或使用如下查询:

SELECT a FROM b WHERE a IN (SELECT c from x WHERE 子句 = 任何东西)

于 2012-12-23T14:32:40.690 回答