我有一个像1,2,3,4,5这样的ID字符串,我希望能够列出该ID中包含该列表的mysql中的所有行。
我认为最简单的方法是将字符串转换成数组,然后在($ array)中进行匹配,但是它对我不起作用-没有错误等,但它不返回任何行:
$string="1,2,3,4,5"; $array=array_map('intval', explode(',', $string)); $query=mysqli_query($conn, "SELECT name FROM users WHERE id IN ('".$array."')");
如果我执行$ array的var_dump,则得到:
array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
知道我在哪里搞砸吗?
$string=”1,2,3,4,5”; $array=array_map(‘intval’, explode(‘,’, $string)); $array = implode(“’,’“,$array); $query=mysqli_query($conn, “SELECT name FROM users WHERE id IN (‘“.$array.”’)”);
注意:语法为:
SELECT * FROM table WHERE column IN('value1','value2','value3')