所以我有我的代码
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;
}
?>