PHP Conference Japan 2024

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_row -- mysqli_fetch_row将结果集的下一行作为枚举数组获取

描述

面向对象风格

public mysqli_result::fetch_row(): 数组|null|false

过程化风格

mysqli_fetch_row(mysqli_result $result): 数组|null|false

从结果集中获取一行数据,并将其作为枚举数组返回,其中每列都存储在从 0(零)开始的数组偏移量中。对该函数的每次后续调用都将返回结果集中的下一行,或者如果不再有行则返回null

注意: 此函数将 NULL 字段设置为 PHP null 值。

参数

result

仅过程化风格:由 mysqli_query()mysqli_store_result()mysqli_use_result()mysqli_stmt_get_result() 返回的 mysqli_result 对象。

返回值

返回表示已获取行的枚举数组,如果结果集中没有更多行,则返回null,或者在失败时返回false

示例

示例 #1 mysqli_result::fetch_row() 示例

面向对象风格

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* 获取对象数组 */
while ($row = $result->fetch_row()) {
printf("%s (%s)\n", $row[0], $row[1]);
}

过程化风格

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($mysqli, $query);

/* 获取关联数组 */
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s)\n", $row[0], $row[1]);
}

以上示例将输出类似以下内容

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

参见

添加注释

用户贡献的注释 4 条注释

Stephen
17 年前
值得注意的是,MySQLi 函数(并且,我假设 MySQL 函数)无论 MySQL 数据类型如何都获取字符串。例如,如果您获取包含整数列的行,则该列和行的对应值仍将作为字符串存储在 mysql_fetch_row 返回的数组中。
sainthyoga2003 at gmail dot com
10 年前
请注意,mysqli_fetch() 已弃用,但仍位于 PHP 函数列表中。mysqli_fetch_row() 现在是 mysql 过程化样式使用的,但未列在 PHP 函数中。
evangun2001 at yahoo dot fr
17 年前
请记住,fetch() 和 fetch_row() 是两件不同的事情,并且使用方法不同。

- fetch() 用于语句(如已执行的预处理语句),并且需要与 bind_result() 结合使用。

- fetch_row() 用于结果(如 query() 的结果)。

因此,如果您想将 fetch_row() 与已执行的预处理语句一起使用,首先必须使用 mysqli_store_result() 或 mysqli_use_result() 从该语句中获取结果。
maillist at pnpitalia.it
20 年前
来自“README.PHP4-TO-PHP5-THIN-CHANGES”

4. 从 ext/mysql 移植到 ext/mysqli 时要小心。以下
函数在结果集中没有更多数据可用时返回 NULL
(ext/mysql 的函数返回 FALSE)。

- mysqli_fetch_row()
- mysqli_fetch_array()
- mysqli_fetch_assoc()
To Top