它只是從表格中提取第一個元素。 表名是包含2列的類別:ID,類別mysql查詢不是從表格中提取所有元素
我不明白爲什麼它只是從表中取第一行。
<?php
$sql = "SELECT category FROM categories";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//print_r($row);
?>
它只是從表格中提取第一個元素。 表名是包含2列的類別:ID,類別mysql查詢不是從表格中提取所有元素
我不明白爲什麼它只是從表中取第一行。
<?php
$sql = "SELECT category FROM categories";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
//print_r($row);
?>
您需要迭代通過結果集,以檢索所有的行。
while($row = mysql_fetch_assoc($result)) {
print($row);
}
另外,請停止使用mysql_
函數。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDO或MySQLi - this article將幫助您決定哪個。
謝謝,我期待使用MySQLi。 –
就像你寫的mysql_fetch_assoc($result);
只會得到一行。你必須使用循環來完成這一切。
哦,溜出腦海......無論如何謝謝。 –
如果你調用mysql_fetch_assoc只有一次,你會得到只有第一排......
while(false !== $row = mysql_fetch_assoc($result)) {
print_r($row)
}
不需要測試'(false!== true)' –
使用此在while循環:
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
您正在使用的功能只做一記錄。 嘗試。 ..($ row = mysqli_fetch_array($ result)) { echo $ row ['id']。 「」。 $行[ '分類']; echo「
」; }
對於檢索結果集使用環路根據自己的需要
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'];
}
'while($ row = mysql_fetch_assoc($ result)){// do stuff}' –