大家好!MySQL/PHP mysql_fetch_array()不斷丟失第一行
由於某些原因,Database :: fetchArray()正在跳過查詢結果集的第一行。
它正確地打印所有的行,只是由於某種原因不斷丟失第一個,我認爲我的fetchArray()函數有問題嗎?
我在phpMyAdmin中運行了查詢,它返回了4行,當我在本地主機上使用php文件(代碼如下)嘗試它時,它只使用相同的'WHERE tunes.riddim'-value of course創建3行。 google上大多數類似的主題表明,一個常見的錯誤是在while()之前使用mysql_fetch_array(),它將指針設置在前面並導致第一行丟失,不幸的是我只有一個mysql_fetch_array()調用而() - 頭)。
<?php
$db->query("SELECT " .
"riddims.riddim AS riddim, " .
"riddims.image AS image, " .
"riddims.genre AS genre, " .
"tunes.label AS label, " .
"tunes.artist AS artist, " .
"tunes.tune AS tune, " .
"tunes.year AS year," .
"tunes.producer AS producer " .
"FROM tunes " .
"INNER JOIN riddims ON tunes.riddim = riddims.riddim " .
"WHERE tunes.riddim = '" . mysql_real_escape_string(String::plus2ws($_GET['riddim'])) . "'" .
"ORDER BY tunes.year ASC");
$ar = $db->fetchArray();
for($i = 0; $i < count($ar) - 1; $i++)
{
echo $ar[$i]['riddim'] . " - " . $ar[$i]['artist'] . " - " . $ar[$i]['tune'] . " - " . $ar[$i]['label'] . " - " . $ar[$i]['year'] . "<br>";
}
?>
數據庫:: fetchArray()看起來像:
public function fetchArray()
{
$ar = array();
while(($row = mysql_fetch_array($this->result)) != NULL)
$ar[] = $row;
return $ar;
}
任何建議表示讚賞!
是的,你是不是失蹤的第一行,但最後一行.. – dbf
您需要($ i = 0'之間進行選擇; $ I <=(計數($ ar) - 1); $ i ++)'和'for($ i = 0; $ i