我真的被困在这里,老实说,我自己在这里看不到任何错误,我在我的网站上做过几次这样的事情。
我希望我的主页最多更新三个最新的新闻更新。我已经设置了所有表,并带有用于测试的条目。这是我的php代码,用于显示最近的三篇文章:
<?php
$sql = mysqli_query($link, "SELECT * FROM news ORDER BY PostCreated ASC LIMIT 3");
if($sql)
{
while($row = mysqli_fetch_assoc($sql))
{
echo $row['PostContent'];
}
else
{
echo "Cannot fetch current news update. Error: " . mysqli_error($link);
}
}
else
{
echo "Cannot fetch current news update. Error: " . mysqli_error($link);
}
?>
所以正如你所看到的,它抓住了三个最近的,我已经通过在while loop
之前放置echo mysqli_num_rows($sql);
来证明这一点。这将返回正确的1
因为只有一个条目。
当我尝试echo $row['PostContent'];
整个页面变为空白时出现问题,如果我从等式中取出 while 循环,它将显示页面的其余部分,但几乎就像我使用 echo $row['PostContent'];
停止页面的其余部分加载一样?
任何帮助将不胜感激,如果这是我的一个非常愚蠢的错误,最终浪费了你们的时间,我感到非常抱歉。谢谢!
这里可能的问题有:
-
您在
while
循环之后使用了else
块。 -
您已
error_reporting
关闭。
这些解释了当while
存在时页面变为空白,以及当页面被拿走时执行其余页面。
这是你的问题。
else
{
echo "Cannot fetch current news update. Error: " . mysqli_error($link);
}
在 while 循环后不能使用它。