我使用下面的代码从数据库中获取信息并将其转换为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);
答案 0 :(得分:3)
您正在无限循环中执行mysql_query
:
在每次迭代中查询数据库,并获取第一行。将其更改为
$res = mysql_query("SELECT * FROM Comments WHERE postID = '$postID'");
if (!$res)
{
// handle error
}
while ($ra = mysql_fetch_assoc($res))
{
....
}
第二次查询也一样。