输出JSON时,网页未加载PHP-MySQL代码

时间:2011-06-08 23:35:30

标签: php mysql json

我使用下面的代码从数据库中获取信息并将其转换为JSON(可能是错误的)。

不幸的是,它不会在我的网络浏览器中加载,它只是说它正在加载但它没有完成。请你告诉我我做错了什么。

$query = mysql_query("SELECT * FROM Posts ORDER BY date DESC") or die(mysql_error());
$array = array(); 
while ($row = mysql_fetch_assoc($query)) { 
$array[] = $row; 
$postID =     $row['id']; 
while ($ra = mysql_fetch_assoc(mysql_query("SELECT * FROM Comments WHERE postID = '$postID'"))) { 
$array['comments'] = $ra; 
} 
while ($rd = mysql_fetch_assoc(mysql_query("SELECT * FROM Likes WHERE postID = '$postID'"))) { 
$array['likes'] = $rd;
 } 
} 
echo json_encode($array);

1 个答案:

答案 0 :(得分:3)

您正在无限循环中执行mysql_query:   在每次迭代中查询数据库,并获取第一行。将其更改为

$res = mysql_query("SELECT * FROM Comments WHERE postID = '$postID'");
if (!$res)
{
   // handle error
}
while ($ra = mysql_fetch_assoc($res)) 
{
 ....
}

第二次查询也一样。