[英]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.