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(): array|null|false

过程式风格

mysqli_fetch_row(mysqli_result $result): array|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 条说明

up
20
Stephen
17 年前
值得注意的是,MySQLi 函数(以及我认为的 MySQL 函数)无论 MySQL 数据类型如何都会获取字符串。例如,如果您获取包含整数列的行,则该列和该行的相应值将仍然作为字符串存储在由 mysql_fetch_row 返回的数组中。
up
4
sainthyoga2003 at gmail dot com
10 年前
请注意,mysqli_fetch() 已被弃用,但仍位于 PHP 函数列表中。mysqli_fetch_row() 是如今使用的 mysql 过程式风格,但没有在 PHP 函数中列出。
up
4
evangun2001 at yahoo dot fr
16 年前
请记住,fetch() 和 fetch_row() 是两件不同的事情,在使用方式上有所不同。

- fetch() 用于语句(如已执行的准备好的语句),需要与 bind_result() 结合使用。

- fetch_row() 用于结果(如查询的结果)。

因此,如果您想将 fetch_row() 与已执行的准备好的语句一起使用,首先需要使用 mysqli_store_result() 或 mysqli_use_result() 从该语句中获取结果。
up
-3
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