我的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,并且想知道在一个好的论坛网站中是否有必要。
答案 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 />';
}