mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_array -- mysqli_fetch_array将结果集的下一行作为关联数组、数字数组或两者获取

描述

面向对象风格

public mysqli_result::fetch_array(int $mode = MYSQLI_BOTH): array|null|false

过程式风格

mysqli_fetch_array(mysqli_result $result, int $mode = MYSQLI_BOTH): array|null|false

从结果集中获取一行数据,并将其作为数组返回。对该函数的每次后续调用将返回结果集中的下一行,如果没有更多行,则返回 **null**。

除了将数据存储在结果数组的数字索引中之外,此函数还可以通过使用结果集的字段名称作为键来将数据存储在关联索引中。

如果结果的两个或多个列具有相同的名称,则最后一个列将优先并覆盖任何先前的数据。要访问具有相同名称的多个列,必须使用该行的数字索引版本。

注意: 此函数返回的字段名称区分大小写

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

参数

result

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

mode

此可选参数是一个常量,指示从当前行数据生成的数组类型。此参数的可能值是常量 **MYSQLI_ASSOC**、**MYSQLI_NUM** 或 **MYSQLI_BOTH**。

通过使用 **MYSQLI_ASSOC** 常量,此函数的行为将与 mysqli_fetch_assoc() 相同,而 **MYSQLI_NUM** 的行为将与 mysqli_fetch_row() 函数相同。最后一种选项 **MYSQLI_BOTH** 将创建一个包含两者属性的单个数组。

返回值

返回一个表示所获取行的数组,如果结果集中没有更多行,则返回 **null**,或者在失败时返回 **false**。

示例

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

面向对象风格

<?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 LIMIT 3";
$result = $mysqli->query($query);

/* 数字数组 */
$row = $result->fetch_array(MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);

/* 关联数组 */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* 关联和数字数组 */
$row = $result->fetch_array(MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);

过程式风格

<?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 LIMIT 3";
$result = mysqli_query($mysqli, $query);

/* 数字数组 */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);

/* 关联数组 */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* 关联和数字数组 */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);

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

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

参见

添加笔记

用户贡献的笔记

此页面没有用户贡献的笔记。
To Top