在 php 中, 操作 MySQL 数据库时, 常常需要遍历查询结果集中的多条记录။ mysql_fetch_row ()函数是一个经典的函数, 用于从结果集中取得一行作为数字索引的数组။ 虽然在现代开发中更推荐使用mysqlqli或pdo , 但了解mysql_fetch_row () 但了解 mysql_feth_row ()虽然在现代开发中更推荐使用 mysql_fet_row
本文将详细讲解如何将mysql_fetch_row ()循环结合使用, 遍历数据库返回的多条记录, 遍历数据库返回的多条记录။
MySQL_FETT_ROW ()函数每次调用会从结果集里取出下一条记录, 并以索引数组形式返回။ 例如, 如果表中有三列, 如果表中有三列, 返回的数组下标就是, 返回的数组下标就是 0,1,2 ။
当没有更多行时, front front 函数返回false这也是နေစဉ် ။
假设我们已经成功执行了一个 SQL 查询:
$query = "SELECT id, name, email FROM users";
$result = mysql_query($query);
$ ရလဒ်是查询结果资源, 我们可以通过mysql_fetch_row ()遍历所有行။
用, 调用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 起已废弃, 建议使用MySQLI或PDO ။
MySQL_FETT_ROW ()返回的是索引数组, 如果需要使用关联数组可以使用MYSQL_FETCE_ASTESOC () ။
遍历大量数据时, 使用循环结合mysql_fetch_row ()能够有效处理။