mysql—如何用sql获取一列中另一列等于一个值的值,并用php存储到数组中?

qv7cva1a  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(286)

这是我的table:

user_id | group_id
------------------
1       | 22
2       | 22
3       | 22
4       | 1
5       | 1

我只想从组\u id 22中获取用户\u id并将其存储到数组中。
我的php代码:

$group_id=22;
$user_ids_ar = mysqli_fetch_array($db->query("SELECT user_id FROM table WHERE group_id=".$group_id.";"), MYSQLI_NUM);

它似乎只返回一个值,而不是预期的3。我怎样才能解决这个问题?

uqdfh47h

uqdfh47h1#

您只得到一行返回,因为您只要求一行。你需要把它们都拿出来。

$group_id=22;
$result = $db->query("SELECT user_id FROM table WHERE group_id=".$group_id);
while ( $row = mysqli_fetch_array($result, MYSQLI_NUM) ) {
    $user_ids_ar[] = $row;
}

或者你可以使用fetchall的形式。

$group_id=22;
$user_ids_ar = mysqli_fetch_all(
                                $db->query("SELECT user_id 
                                            FROM table 
                                            WHERE group_id=".$group_id)
                            , MYSQLI_NUM);

相关问题