2013-10-10 53 views
1

它只是從表格中提取第一個元素。 表名是包含2列的類別:ID,類別mysql查詢不是從表格中提取所有元素

我不明白爲什麼它只是從表中取第一行。

<?php 
    $sql = "SELECT category FROM categories"; 
    $result = mysql_query($sql); 
    $row = mysql_fetch_assoc($result); 
    //print_r($row);    
?> 
+1

'while($ row = mysql_fetch_assoc($ result)){// do stuff}' –

回答

0

就像你寫的mysql_fetch_assoc($result);只會得到一行。你必須使用循環來完成這一切。

+0

哦,溜出腦海......無論如何謝謝。 –

0

如果你調用mysql_fetch_assoc只有一次,你會得到只有第一排......

while(false !== $row = mysql_fetch_assoc($result)) { 
    print_r($row) 
} 
+0

不需要測試'(false!== true)' –

1

使用此在while循環:

while ($row = mysql_fetch_assoc($result)) { 
    print_r($row); 
} 
0

您正在使用的功能只做一記錄。 嘗試。 ..($ row = mysqli_fetch_array($ result)) { echo $ row ['id']。 「」。 $行[ '分類']; echo「
」; }

0

對於檢索結果集使用環路根據自己的需要

foreach 

使用通過一個數組,其長度爲(或可以是)未知進行遍歷時,通過一個數組,其長度設置,或者,當你需要一個計數器迭代時 作爲

foreach($row as $val) 
{ 
echo $val; 
} 

使用。

for(i=0;i<sizeof($row);i++) 
{ 
echo $row[$i]; 
} 

,而當你通過與發現,或觸發某些標誌的明確目的的數組迭代

使用。

while($row=mysqli_fetch_array($query)) 
{ 
echo $row['flag']; 
} 
相關問題