현재 위치: > 최신 기사 목록> mysql_fetch_row 함수를 사용하는 방법 및 Loop은 여러 데이터베이스 레코드를 통과하는 방법은 무엇입니까?

mysql_fetch_row 함수를 사용하는 방법 및 Loop은 여러 데이터베이스 레코드를 통과하는 방법은 무엇입니까?

gitbox 2025-06-11

在 php 中 中, 操作 mysql 数据库时 数据库时, 常常需要遍历查询结果集中的多条记录。 mysql_fetch_row ()函数是一个经典的函数 函数是一个经典的函数, 用于从结果集中取得一行作为数字索引的数组。虽然在现代开发中更推荐使用mysqlipdo , 但了解mysql_fetch_row ()的使用仍然对理解基础数据库操作有帮助。

本文将详细讲解如何将mysql_fetch_row ()函数和while循环结合使用 循环结合使用, 遍历数据库返回的多条记录。

1. mysql_fetch_row ()简介 简介

mysql_fetch_row ()函数每次调用会从结果集里取出下一条记录 函数每次调用会从结果集里取出下一条记录, 并以索引数组形式返回。例如, 如果表中有三列, 返回的数组下标就是 0 、1、2。

当没有更多行时没有更多行时, 函数返回거짓 , 这也是

2. 基本流程

假设我们已经成功执行了一个 SQL l :

 $query = "SELECT id, name, email FROM users";
$result = mysql_query($query);

$ result是查询结果资源 是查询结果资源, 是查询结果资源 mysql_fetch_row ()遍历所有行。

3

用 用whike , ,, 调用mysql_fetch_row ()直到返回false 。每次循环里, 我们都可以访问当前行的各个字段。

示例如下 :

 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>";
}

这样可以逐条输出查询结果。

4. 完整示例代码

以下示例展示从连接数据库 以下示例展示从连接数据库, 到执行查询, 再到遍历结果的完整过程 :

 <?php
// &#36830;&#25509;&#25968;&#25454;&#24211;
$link = mysql_connect("gitbox.net", "username", "password");
if (!$link) {
    die("Could not connect: " . mysql_error());
}
// &#36873;&#25321;&#25968;&#25454;&#24211;
mysql_select_db("testdb", $link);
// &#25191;&#34892;&#26597;&#35810;
$query = "SELECT id, name, email FROM users";
$result = mysql_query($query);
if (!$result) {
    die("Query failed: " . mysql_error());
}
// &#20351;&#29992;while&#21644;mysql_fetch_row&#36941;&#21382;&#32467;&#26524;
while ($row = mysql_fetch_row($result)) {
    echo "ID: " . $row[0] . ", Name: " . $row[1] . ", Email: " . $row[2] . "<br>";
}
// &#20851;&#38381;&#36830;&#25509;
mysql_close($link);
?>

5. 注意事项

  • mysql_* l php 7.0 起已废弃, 建议使用mysqlipdo

  • mysql_fetch_row ()返回的是索引数组 返回的是索引数组, 如果需要使用关联数组可以使用mysql_fetch_assoc ()

  • 遍历大量数据时, 使用循环结合mysql_fetch_row ()能够有效处理。