-1
我正在使用while循環來解析我的數據庫,並且我知道信息在那裏。這是一個論壇風格的設置,當我添加一個主題並返回到主頁面後,新行被添加,但仍然是空白的。我將包括我的代碼,我不太確定我錯過了什麼會導致它不會從數據庫中獲取數據。另外,我沒有使用PHPMyAdmin,我相信這個教程代碼最初是爲了與它一起使用而編寫的,如果這有助於解決我可能需要解決問題的語法差異。提前致謝。mysql_fetch_array返回空白數組,但正確的行數
mysql_connect("$host","$username","$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY id DESC;";
//order result by descending
$result=mysql_query($sql);
?>
<table width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td width="6%" align="center" bgcolor="#E6E6E6"><strong>#</strong></td>
<td width="53%" align="center" bgcolor="#E6E6E6"><strong>Topic</strong></td>
<td width="15%" align="center" bgcolor="#E6E6E6"><strong>Views</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Replies</strong></td>
<td width="13%" align="center" bgcolor="#E6E6E6"><strong>Date/Time</strong></td>
</tr>
<?php
//start looping table row
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td bgcolor="#FFFFFF"><? echo $rows['id'];?></td>
<td bgcolor="#FFFFFF"><a href="view_topic.php?id=<? echo $rows['id'];?>"><?echo $rows['topic']; ?>
</a><BR></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['view']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['reply']; ?></td>
<td align="center" bgcolor="#FFFFFF"><? echo $rows['datetime']; ?></td>
</tr>
<?php
// Exit looping and close connection
}
mysql_close();
?>
首先,不使用MySQL的功能,因爲它們被正式棄用,看看PDO或Prepared語句,第二個:var_dump($ rows);你很快就能解決你的問題。 – Neat 2015-01-15 17:22:31
在查詢結束時刪除';' – voodoo417 2015-01-15 17:25:11
如果您只是在學習PHP,請不要學習過時的'mysql_query'界面。這很糟糕,並且在未來版本的PHP中被刪除。像[PDO這樣的現代化替代品並不難學](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)。像[PHP The Right Way](http://www.phptherightway.com/)這樣的指南可以幫助解釋最佳實踐。永遠絕對**肯定**你的用戶參數[正確逃脫](http://bobby-tables.com/php),否則你會有嚴重的[SQL注入漏洞](http://bobby-tables.com/ )。 – tadman 2015-01-15 17:27:20