一尘不染

MySQL的ID在数组中

mysql

我有一个像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) 
}

知道我在哪里搞砸吗?


阅读 417

收藏
2020-05-17

共1个答案

一尘不染

$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')

2020-05-17