我有一个多维数组。阵列本身很好。我的问题是该脚本占用了大量的内存,而且由于我在我的iBook G4上运行MAMP,我的计算机冻结了。以下是完整的脚本。
$query = "SELECT * FROM posts ORDER BY id DESC LIMIT 10";
$result = mysql_query($query);
$posts = array();
while($row = mysql_fetch_array($result)){
$posts[$row["id"]]['post_id'] = $row["id"];
$posts[$row["id"]]['post_title'] = $row["title"];
$posts[$row["id"]]['post_text'] = $row["text"];
$posts[$row["id"]]['post_tags'] = $row["tags"];
$posts[$row["id"]]['post_category'] = $row["category"];
foreach ($posts as $post) {
echo $post["post_id"];
}
是否仍有一种解决方法可以实现我的目标(将MySQL查询行导出到数组中)?
-Dylan
答案 0 :(得分:1)
如果该代码是逐字的,直接从您的代码中复制/粘贴,有一件事引起了我的注意(除非我看到的东西)是没有关闭'}'的while循环???
干杯, 亚历
答案 1 :(得分:0)
这很奇怪,因为你已经设定了10的限制。请注意,您在使用$row["title"]
函数时指定关联数组,例如mysql_fetch_array
,向其添加第二个参数MYSQL_ASSOC
或使用mysql_fetch_assoc
函数:
while($row = mysql_fetch_assoc($result)){
$posts[$row["id"]]['post_id'] = $row["id"];
$posts[$row["id"]]['post_title'] = $row["title"];
$posts[$row["id"]]['post_text'] = $row["text"];
$posts[$row["id"]]['post_tags'] = $row["tags"];
$posts[$row["id"]]['post_category'] = $row["category"];
}
您可能希望将array_chunk
函数用于数组中的块并根据需要操作这些块。