首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建JSON数组(来自MySQL的数据)

创建JSON数组(来自MySQL的数据)
EN

Stack Overflow用户
提问于 2013-11-15 15:52:25
回答 2查看 3.3K关注 0票数 1

我到处找,找不到解决办法.这是我的代码,有问题的地方是如何创建一个大型的每一行数组:(注释行是导致错误的那一行)。

代码语言:javascript
复制
$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 "";    
        }

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-15 15:56:08

简单的答案是将$temparr数组推到$resArray上,如下所示:

代码语言:javascript
复制
$resArray[] = $tempArr;

注意,如果您真的想使用array_push(),也可以使用它。

不知道您的所有查询都返回了什么,但您知道您也可以只使用将查询结果作为数组吗?

代码语言:javascript
复制
$resArray = $result->fetch_array(MYSQLI_ASSOC);

如果您的查询返回的比数组中需要的要多,只需限制查询:

代码语言:javascript
复制
$result = mysqli_query($con, "SELECT orderid, orderdate, orderstatus FROM  `Orders` ...");
$resArray = $result->fetch_array(MYSQLI_ASSOC);

完成了!

票数 2
EN

Stack Overflow用户

发布于 2013-11-15 16:08:31

除了其他重要方面之外,您还分配了array_push $resArray = array_push((array)$resArray, (array)$tempArr)的结果,因此json_encode($resArray)获得的是一个数字,而不是所需的数组。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20005071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档