PHP 创建 JSON 数组数组(数据来自 MySQL)

标签 php mysql arrays json

我一直在搜索,但找不到任何解决方案...... 这是我的代码,有问题的地方是如何创建 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/

相关文章:

javascript - 使用 node.js 和 sequelize 将表单数据插入 mysql 数据库表

php - 重用 Sprintf 参数或 PHP 中的替代方案

javascript - foreach 中的 DomDocument removeChild 重新索引 dom

mysql - Laravel 从 mysql 表中获取数据

mysql - 为什么 mysql jdbc 驱动程序将 mysql 类型 smallint 映射到 int?

c - 难以理解 C 中的可变长度数组

arrays - 在索引处增加 StaticVector

php - 将变量传递给 mysql 查询结果为 "function query on null"

php - 在 foreach 循环中连接到 MySQL 会减慢我的 php 页面

java-检查对象等于 == 但成功