我有一些代碼在php中按照排序順序訪問mysql數據庫,然後在表中打印出信息。但是,無論何時調用mysql_fetch_array,該函數都不會返回任何內容,即使mysql_num_rows是4.也就是說,如果我做$ row = mysql_fetch_array($ result),則$ row ['name']是「表中的名稱列。代碼片段如下:mysql_fetch_array沒有返回任何內容,但mysql_num_rows返回4在php中
<?php
include_once("include.php");
$number=0;
if(!isset($_GET['scores'])) {
$number=10;
}
else if((int)$_GET['scores']>100) {
$number=100;
}
else if((int) $_GET['scores']<0) {
$number=10;
}
else {
$number=(int) $_GET['scores'];
}
$con=mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $con);
$result=mysql_query("SELECT * FROM ".$dbtable_scores." ORDER BY score DESC,date;", $con);
$num=1;
echo("<table>");
echo("<tr><td>position</td><td>Name</td><td>score</td><td>date</td></tr>");
while($row=mysql_fetch_array($result) && $num<=$number) {
echo("<tr>");
echo("<td>".$num."</td>");
echo("<td>".$row['name']."</td><td>".$row['score']."</td><td>".$row['date']."</td>");
echo("</tr>");
$num++;
}
echo("</table>");
mysql_close($con);
?>
我檢查了在mysql cli中的查詢,它似乎工作正常。但是,正如您將看到的,如果您轉到http://mtgames.org/index.php,表格中只有不是從mysql生成的數字。 mysql表中有列名,分數,日期等等。 任何幫助表示讚賞。 謝謝, -Michael。
你能格式化你的代碼嗎?選擇您的代碼並按下'{}'按鈕來完成。 – Nemoden 2011-05-11 01:26:15
'&& $ num <= $ number'你爲什麼需要這部分? – zerkms 2011-05-11 01:26:20
你可以在while循環開始後做一個var_dump($ row),並向我們顯示輸出。 – bumperbox 2011-05-11 01:31:41