我一直在搜索,但找不到任何解决方案...... 这是我的代码,有问题的地方是如何创建 1 个大型 per-sql-row 数组: (被注释掉的行是导致错误的行)。
$result = mysqli_query($con, "SELECT * FROM `Orders` WHERE `userID` = " . $objData->userid . " ORDER BY `recievedDate` DESC LIMIT 10");
$resArray = array();
if ($result->num_rows > 0) {
while($row = $result->fetch_row())
{
$tempArr = array("orderid" => $row[0], "orderdate" => $row[2], "orderstatus" => $row[4]);
//$resArray = array_push((array)$resArray, (array)$tempArr); <== problematic line commented out
}
echo json_encode($resArray);
} else {
echo "";
}
谢谢!
最佳答案
简单的答案是像这样将您的 $temparr
数组推送到 $resArray
:
$resArray[] = $tempArr;
请注意,您也可以使用 array_push()
如果你真的想要的话。
不确定您的查询返回的是什么,但您知道吗,您也可以只返回 get your query results as an array开始?
$resArray = $result->fetch_array(MYSQLI_ASSOC);
如果您的查询返回的数组超出您的需要,只需限制查询:
$result = mysqli_query($con, "SELECT orderid, orderdate, orderstatus FROM `Orders` ...");
$resArray = $result->fetch_array(MYSQLI_ASSOC);
完成!
关于PHP 创建 JSON 数组数组(数据来自 MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20005071/