ID の配列を要求し、その ID を持つ各行を返し、それぞれを配列にプッシュしようとしています$finalArray
ただし、クエリの最初の結果のみが出力され、2 番目の結果はループ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はエスケープしてスラッシュを削除します)
私が取得しようとしているのは、複数の行の配列です(次のようにjson_encodeした後:
{ "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
が、何もしません..
では、なぜ から 2 行目を取得できないのinfo
でしょうか。私は本質的に foreach $arrayItem を再クエリしていますよね?