IN数组在子句mysql php pdo中

时间:2017-09-11 15:41:54

标签: php mysql arrays pdo

在我的php中,我有一个这样的数组:

Array ( [0] => 3 [1] => 5 )

我做的是在数组中使用了json_encode($array, JSON_UNESCAPED_UNICODE);,结果如下:

["3","5"]


$array = json_encode($array, JSON_UNESCAPED_UNICODE);

现在,在执行此操作后,我在选择查询中使用它,其中IN在where子句中如下:

SELECT tablecode FROM table WHERE id IN $array

现在我得到了:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“[”3“,”5“]'附近使用正确的语法

我遵循了如何使用IN,但仍然会发生这种情况。

如何在带有IN

的where子句中使用数组

1 个答案:

答案 0 :(得分:1)

也不需要使用json_encode()。只需使用implode()以逗号分隔。

$comma_separated_number = implode(', ', $array);
SELECT tablecode FROM table WHERE id IN ($comma_separated_number);