我想创建一个SQL SELECT语句,根据一列的值选择多行,但我有一个与我想要选择的行匹配的有效值列表。
具体来说,我有一个用户ID列表。我想为每个具有此列表中的用户ID的行选择整行(此列表在PHP中,我也从那里进行SQL调用)。
到目前为止我的代码看起来像这样:
$list_of_ids = array(1, 5, 7, 23);//list of user ids I want to select.
$query = sprintf("SELECT * FROM users WHERE user_id=?????", ????);
我该怎么做?
答案 0 :(得分:4)
$ids = implode(',',$list_of_ids);
$query = sprintf("SELECT * FROM users where user_id in ($ids)");
答案 1 :(得分:1)
以逗号分隔的字符串转换数组,如下所示:
$list_of_ids = array(1, 5, 7, 23);
$out = implode(",", $list_of_ids) ;
$query = sprintf("SELECT * FROM users WHERE user_id in =(".$out.")");