無法使用while循環顯示mysql_fetch_array的所有行。如何使用while循環顯示mysql_fetch_array的所有行
嗨。我的問題是我只能顯示輸入數據庫表的最後一行。 我用php解析表單數據以插入到數據庫表中。 我知道表格數據被插入到表格中。 我正在使用while循環嘗試從表格的所有行中的兩列提取數據。 我使用php來顯示每列中的兩列id
& product_name
的數據。 這是我的理解,一個mysql_fetch_array將只返回1行,除非它與一個while循環一起使用,然後應該返回所有行。所以我很困惑,爲什麼我只能擺出最後一行。
當我瀏覽phpMyAdmin中的表格時,有三行各有一個ID號碼。 它們按順序1,2,3順序排列,因爲id
列是自動遞增的。 id
列是主鍵。 product_name
列是唯一鍵。
我不認爲我的查詢結構有問題。 可能是一個定義$ product_list變量的問題?我不知道。
我已關閉瀏覽器並清除所有歷史記錄,cookies等。 我已停止&重新啓動Apache服務器& mysql。
當我echo var_dump($ sql);我得到:類型(mysql結果)的資源(6)。 當我回聲var_dump($ product_list);我得到:string(99)「3 - Blue Jeans編輯•刪除」 當我print_r($ sqL);我得到:資源ID#6 當我echo $ product_list;我得到:3 - 藍色牛仔褲編輯•刪除
我花了很多時間通過谷歌搜索尋找答案,但沒有一個似乎適合這個特定的問題。
我確實看到一個類似的問題,建議使用串聯方法,但有零(0)票。所以我不確定這是否是對我的問題可行的補救措施。
這裏是我使用的代碼:
<?php
//this block grabs the whole list for viewing
$product_list = "";
$sql= mysql_query ("SELECT * FROM `products`");
$product_count = mysql_num_rows ($sql);
if ($product_count > 0) {
while($row = mysql_fetch_array ($sql)) {
$id = $row['id'];
$product_name = $row ['product_name'];
$product_list = "$id - $product_name <a
href='#'>edit</a> • <a href='#'>delete</a>
<br/>";
}
} else {
$product_list = "You have no products listed in your store yet";
}
?>
<?php echo $product_list; ?>
不要再使用'mysql_ *'函數了。他們折舊。 –