我的PHP代码有什么问题

时间:2013-12-10 17:36:27

标签: php html mysql database

我的PHP代码似乎不起作用。我没有收到任何错误,它只显示一个空白页面。我做错了什么?

<?php 
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("quicktesting") or die(mysql_error());

//Select and order the content from forum_sections in ascending order 
$sql = mysql_query("SELECT * FROM forum_section ORDER BY ordered ASC LIMIT 10") or die(mysql_error());

$displayList = "";

while($row = mysql_fetch_array($sql) or die(mysql_error())) {
    $sectionID = $row["id"];
    $sectionTitle = $row["title"];
     $displayList = '<a href="section.php?id='.$sectionID.'">'.$sectionTitle.'</a><br />';
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Forums Testing</title>
    </head>
    <body>
        <div id="header_bakcground">
            <div id="moreHead">
                <p>Testing Forums</p>
            </div>
        </div>
        <div id="mainBody">
            <?php echo $displayList; ?>
        </div>
    </body>
</html>
PS:我正在努力建立一个论坛网站,如果你知道任何好的教程或技巧,请告诉我。另外,我不擅长JavaScript,并且想知道在一个好的论坛网站中是否有必要。

3 个答案:

答案 0 :(得分:4)

while($row = mysql_fetch_array($sql) or die(mysql_error())是错误的逻辑。 while语句一直运行,直到它们的条件返回false,在这种情况下,mysql_fetch_array将返回false;但是,由于您or die(mysql_error())会返回非假值,因此您的代码会立即死亡。

更改为:while($row = mysql_fetch_array($sql))

答案 1 :(得分:1)

尝试使用,您需要添加.串联$displayList

$displayList .= '<a href="section.php?id='.$sectionID.'">'.$sectionTitle.'</a><br />';

而不是

$displayList = '<a href="section.php?id='.$sectionID.'">'.$sectionTitle.'</a><br />';

应该是这样的:

 while($row = mysql_fetch_array($sql)){
   $sectionID = $row["id"];
   $sectionTitle = $row["title"];
   $displayList .= '<a href="section.php?id='.$sectionID.'">'.$sectionTitle.'</a><br />';

}

答案 2 :(得分:0)

将“while”更改为

while($row = mysql_fetch_array($sql)) {
    $sectionID = $row["id"];
    $sectionTitle = $row["title"];
    $displayList .= '<a href="section.php?id='.$sectionID.'">'.$sectionTitle.'</a><br />';
}