Msqli 查询数组


Msqli query array

所以我有我的代码

    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'];
        }
}

如果我调用这个函数的输出$Apicall[0] = 3$Apicall[1] = 11这就是我想要的信息。但是现在我想使用这样的函数

  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;
}

如果我设置 ="3",此代码确实会运行$Apicall;我遇到的问题是,我希望第一个函数获取与数据库中$userId关联的所有 ID,然后为每个 Id 运行第二个函数以从该查询中获取两条特定信息。

作为对以下评论的回应,这是我将使用的解决方案。但是,您应该警惕使用此方法,因为它不会参数化值,因此不会进行清理。

<?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;
}
?>