如何选择ID在数组中的所有记录?选择阵列中的哪个位置
所以,如果我有一个值为1,25,2,12,1859和192的数组:应该返回所有带有ID的记录。
现在我有这样的:
$query="SELECT * FROM table WHERE Id IN(".implode(",",$my_array).")";
但是,这并不工作。它只返回一个值。
如何选择ID在数组中的所有记录?选择阵列中的哪个位置
所以,如果我有一个值为1,25,2,12,1859和192的数组:应该返回所有带有ID的记录。
现在我有这样的:
$query="SELECT * FROM table WHERE Id IN(".implode(",",$my_array).")";
但是,这并不工作。它只返回一个值。
添加引号中查询
$query="SELECT * FROM table WHERE Id IN('".implode("','",$my_array)."')";
如果值是整数,则不需要引号。 – MichaelRushton 2012-03-24 15:21:00
不,没有什么改变:-( – Jordy 2012-03-24 15:21:09
我的建议是,首先破灭的my_array,它存储在一个变量和使用您的查询中。
例子:
<?php
$my_array[0] = 24;
$my_array[1] = 26;
$qryVals = implode(",",$my_array);
$query="SELECT * FROM table WHERE Id IN($qryVals)";
echo $query;
?>
你能表现出更多的代码以及'的print_r($ my_array)'? – MichaelRushton 2012-03-24 15:21:50
当然:输出是:Array([0] => 24 [1] => 26)并且它只在查询中返回24。 – Jordy 2012-03-24 15:23:46
'implode(“,”,$ my_array)'只返回'24'或查询只选择ID为24的行? – MichaelRushton 2012-03-24 15:25:53