我尝试请求一个 ID 数组,返回具有该 ID 的每一行,并将每个行推入一个数组$finalArray
但只会输出 Query 的第一个结果,而在第二个结果中foreach
,它会跳过while
循环。
我有这个在另一个脚本中工作,所以我不明白哪里出错了。
$arrayItems
是一个数组,包含:"home, info"
$finalArray = array();
foreach ($arrayItems as $UID_get)
{
$Query = "SELECT *
FROM items
WHERE (uid = '" . cleanQuery($UID_get) . "' )
ORDER BY uid";
if($Result = $mysqli->query($Query))
{
print_r($UID_get);
echo "<BR><-><BR>";
while ($Row = $Result->fetch_assoc())
{
array_push($finalArray , $Row);
print_r($finalArray );
echo "<BR><><BR>";
}
}
else
{
echo '{ "returned" : "FAIL" }'; //. mysqli_connect_errno() . ' ' . mysqli_connect_error() . "<BR>";
}
}
(cleanQuery 是转义和stripslashes)
我想要得到的是一个多行数组(在我对其进行 json_encoded 之后,例如:
{ "finalArray" :
{ "home":
{ "id":"1",
"created":"0000-00-00 00:00:00",
"css": "{ \"background-color\" : \"red\" }"
}
},
{ "info":
{ "id":"2",
"created":"0000-00-00 00:00:00",
"css":"{ \"background-color\" : \"blue\" }"
}
}
}
但那是在我从数据库中获得两者或更多结果之后。
print_r($UID_get);
确实打印了info
,但是什么也没有。
那么,为什么我没有得到第二行info
呢?我本质上是在重新查询 foreach $arrayItem 对吗?