2011-06-08 28 views
0

我使用下面的代碼從數據庫獲取信息並將其轉換爲JSON(可能是錯誤的)。在輸出JSON時未使用PHP-MySQL代碼加載網頁

不幸的是,它不會加載我的網絡瀏覽器,它只是說它正在加載,但它沒有完成。請你能告訴我我做錯了什麼。

$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); 

回答

3

你在無限循環執行mysql_query: 在每次迭代您查詢數據庫,並獲取第一行。將其更改爲

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

和第二個查詢一樣。

+0

+1徹底的答案。 – 2011-06-08 23:43:57