1

我真的被困在这里,老实说,我自己在这里看不到任何问题,而且我在整个网站上都做过几次类似的事情。

我希望我的主页最多更新三个最新的新闻更新。我的表也设置了一个用于测试的条目。这是我的 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);
    }
?>

所以你可以看到它抓住了最近的三个,我已经通过echo mysqli_num_rows($sql);while loop. 这返回1是正确的,因为只有一个条目。

当我尝试echo $row['PostContent'];整个页面变为空白时出现问题,如果我将 while 循环排除在等式之外,它将显示页面的其余部分,但几乎就像我使用echo $row['PostContent'];停止页面加载的其余部分一样全部?

任何帮助将不胜感激,如果这是我的一个非常愚蠢的错误,最终浪费了你们的时间,我很抱歉。谢谢!

4

2 回答 2

1

这里可能出现的问题是:

  1. 您在循环else之后使用了一个块。while

  2. 您已error_reporting关机。

这些解释了页面在存在时会变为空白,while而页面在被取走时会执行其余部分。

于 2013-06-17T14:06:50.657 回答
1

这是你的问题。

else
            {
                echo "Cannot fetch current news update. Error: " . mysqli_error($link);
            }

在 while 循环之后不能使用它。

于 2013-06-17T14:26:44.993 回答