Mysqli查询数组

So I have my code

    function GetApi($connection,$UserId){
        global $Apicall;
        $Apicall = array();
        $Apiidquery = mysqli_query($connection, "SELECT ID FROM ` Characterapi`  WHERE UserId = '$UserId'");
        while($results = mysqli_fetch_assoc($Apiidquery)){
            $Apicall[] = $results['ID'];
        }
}

The output of this function if I call $Apicall[0] = 3 $Apicall[1] = 11 and this is the information I want. But now I want to use a function like

  function Keyquery($Apicall,$connection ){
    global $keyidcall, $keyid ,$Vcode;
    $Keyidquery = array();
    $Keyidquery = mysqli_query($connection, "SELECT keyid, Vcode FROM `Characterapi` WHERE ID = '$Apicall'");
    $results = mysqli_fetch_object($Keyidquery);
    $keyid = $results->keyid;
    $Vcode = $results->Vcode;
}

This code does run if i set $Apicall ="3"; The issue im having is that I want the first function to get All the IDs associated with $userId in my data base then for each Id run the second function to to get the two specific pieces of information from that query.

In response to the comment below, this is the solution which I would use. However you should be wary of using this method as it does not parameterize the values, and as such not sanitized.

<?php

  function Keyquery($Apicall,$connection ){
    global $keyidcall, $keyid ,$Vcode;

    $string = "ID IN('";
    $string.= implode("','", $Apicall);
    $string.="')";

    $Keyidquery = mysqli_query($connection, "SELECT keyid, Vcode FROM `Characterapi` WHERE ".$string.";");
    $results = mysqli_fetch_object($Keyidquery);
    $keyid = $results->keyid;
    $Vcode = $results->Vcode;
}

?>