我在php中创建了一个包含一些USER_ID的数组.我正在使用具有名为USERS的表的mysql数据库.现在我想只从USERS中选择那些user_id与数组中的USER_ID匹配的行.
提前致谢
$ids = join(',',$user_ids);
$sql = "SELECT * FROM USERS WHERE user_id IN ($ids)";
Run Code Online (Sandbox Code Playgroud)
使用WHERE子句将数组传递给查询
http://www.php.net/manual/en/function.join.php
http://www.php.net/manual/en/function.implode.php
implode()将数组放入INSQL中的子句:
$sql = "SELECT * FROM tbl WHERE USER_ID IN (" . implode(",", $user_ids) . ");";
Run Code Online (Sandbox Code Playgroud)
这假设您的用户ID是整数,而不是必须引用和转义的字符串.在这种情况下,
$sqlids = array();
foreach ($user_ids as $id) {
// Escape and quote each id
$sqlids[] = "'" . mysql_real_escape_string($id) . "'";
}
$sql = "SELECT * FROM tbl WHERE USER_ID IN (" . implode(",", $sqlids) . ");";
Run Code Online (Sandbox Code Playgroud)