我正在尝试创建一个简单的论坛脚本,但是当我尝试每次运行代码时,都会收到此错误:
Fatal error: Maximum execution time of 30 seconds exceeded in D:\xampp\htdocs\index.php on line 15
这是我正在使用的代码
while($topic = mysql_fetch_array(mysql_query("SELECT `name`, `post_count` FROM `topics`))){
?>
<tr>
<td><?php echo $topic['name']; ?></td>
<td><?php echo $topic['post_count']; ?></td>
</tr>
<?php
}
答案 0 :(得分:6)
您的查询将始终返回结果集。然后在该结果集上调用fetch-array,并获取第一行。然后重新运行查询,并获取第一行。再次。再一次......这就是我们所说的无限循环:)
只需调用一次查询,然后在mysql结果上调用mysql fetch数组。
作为附注:查看PHP手册中的mysl_函数..查看大警告?这些函数已弃用!
答案 1 :(得分:4)
尝试此结构时,会一遍又一遍地执行查询。 请先尝试在变量中设置查询,并在while循环中使用它:
$query = mysql_query("YOUR QUERY!");
while($topic = mysql_fetch_array($query)) {
print_r($topic);
}
答案 2 :(得分:0)
您不应该循环调用mysql_query
。调用一次,然后获取结果。
$result = mysql_query("SELECT `name`, `post_count` FROM `topics`");
while ($topic = mysql_fetch_array($result, MYSQL_NUM)) {
?>
<tr>
<td><?php echo $topic['name']; ?></td>
<td><?php echo $topic['post_count']; ?></td>
</tr>
<?php
}
mysql_free_result($result);