繁体   English   中英

PHP json_encode与数组仅返回第一个元素?

[英]PHP json_encode with array only returns first element?

我试图用JSON编码一些值,因此可以在其他应用程序中使用它们,也可以 为它们 创建Web API 访问它们。 我有以下SQL方法可以从数据库中获取数据:

function getAllMessages() {
    return getConnection()->query("SELECT * FROM allMessages ORDER BY programTimestamp DESC");
}

而且我有这种方法来转换以JSON检索的数据:

while( $row = getAllMessages()->fetch_assoc()) {
        $json[] = $row;
    }
    echo json_encode( $json );

我也尝试过这个:

echo json_encode(getAllMessages()->fetch_assoc());

而且我只得到从SQL查询返回的第一个元素/值。

这段代码:

while( $row = getAllMessages()->fetch_assoc() ) {

产生无限循环:在每次迭代中,您都调用getAllMessages()并获取第一行,因此while除非您没有结果或布尔(False)结果,否则它永远不会结束。

以这种方式更改它:

$rows = getAllMessages();
while( $row = $rows->fetch_assoc() )
{
    ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM