在php中,操作mysql數據庫時,常常需要遍歷查詢結果集中的多條記錄。 mysql_fetch_row ()函數是一個經典的函數
本文將詳細講解如何將mysql_fetch_row()函數和循環結合使用,遍歷數據庫返回的多條記錄。 ,遍歷數據庫返回的多條記錄。
mysql_fetch_row()函數每次調用會從結果集裡取出下一條記錄,並以索引數組形式返回。例如,如果表中有三列,返回的數組下標就是0、1、2。
當沒有更多行時,函數返回,false ,這也是,而循環停止的條件。
sql::
$query = "SELECT id, name, email FROM users";
$result = mysql_query($query);
$結果是查詢結果資源,我們可以通過mysql_fetch_row()遍歷所有行。
用,循環控制
示例如下:
while ($row = mysql_fetch_row($result)) {
// $row[0] 是 id
// $row[1] 是 name
// $row[2] 是 email
echo "ID: " . $row[0] . ", Name: " . $row[1] . ", Email: " . $row[2] . "<br>";
}
這樣可以逐條輸出查詢結果。
以下示例展示從連接數據庫,到執行查詢,再到遍歷結果的完整過程::
<?php
// 连接数据库
$link = mysql_connect("gitbox.net", "username", "password");
if (!$link) {
die("Could not connect: " . mysql_error());
}
// 选择数据库
mysql_select_db("testdb", $link);
// 执行查询
$query = "SELECT id, name, email FROM users";
$result = mysql_query($query);
if (!$result) {
die("Query failed: " . mysql_error());
}
// 使用while和mysql_fetch_row遍历结果
while ($row = mysql_fetch_row($result)) {
echo "ID: " . $row[0] . ", Name: " . $row[1] . ", Email: " . $row[2] . "<br>";
}
// 关闭连接
mysql_close($link);
?>
mysql_*函數自php 7.0起已廢棄
mysql_fetch_row()返回的是索引數組,如果需要使用關聯數組可以使用mysql_fetch_assoc() 。
遍歷大量數據時,使用循環結合mysql_fetch_row()能夠有效處理。