我可以在mysql select中放一个数组吗?

时间:2010-11-08 12:45:04

标签: php mysql arrays select

我可以在mysql select中放一个数组吗?

$usersArray = array(34, 23, 17, 17, 56);

$result = mysql_query("SELECT * FROM users WHERE user_id=$usersArray");

我能这样做吗?

3 个答案:

答案 0 :(得分:2)

没有。我相信你应该这样做:

$result = mysql_query("SELECT * FROM users WHERE user_id IN (" . implode(', ', $usersArray) . ")");

答案 1 :(得分:0)

$usersArray = array(34, 23, 17, 17, 56);

$result = mysql_query("SELECT * FROM users WHERE user_id in (".
    implode(",",$usersArray).
    ")");

这是不安全的,就像将sql参数作为连接字符串放置一样。但是你得到了一般的想法。

答案 2 :(得分:0)

尝试:

$usersArray = array(34, 23, 17, 17, 56);
$usersIn = implode(",",$usersArray);
$result = mysql_query("SELECT * FROM users WHERE user_id in($usersIn)");

“in”将user_id与括号内逗号分隔列表中的任何条目进行比较。