PHP
Database/MySQL

mysqli_result::fetch_array

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5, PHP 7)

mysqli_result :: fetch_array - mysqli_fetch_array - 将结果行作为关联,数值数组或两者同时获取

描述

面向对象的风格

mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )

程序风格

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )

返回与获取的行相对应的数组,或者如果result参数表示的结果集没有更多行则返回NULL

mysqli_fetch_array()是mysqli_fetch_row()函数的扩展版本。除了将数据存储在结果数组的数字索引中之外,mysqli_fetch_array()函数还可以使用结果集的字段名称作为关键字将关联索引中的数据存储起来。

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

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

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

参数

`result`

仅过程风格:由mysqli_query(),mysqli_store_result()或mysqli_use_result()返回的结果集标识符。

resulttype

此可选参数是一个常数,指示应从当前行数据生成的数组类型。此参数的可能值是常量MYSQLI_ASSOCMYSQLI_NUMMYSQLI_BOTH

通过使用这个MYSQLI_ASSOC常量,这个函数的行为与mysqli_fetch_assoc()的MYSQLI_NUM行为相同,同时它的行为与mysqli_fetch_row()函数的行为相同。最后的选项MYSQLI_BOTH将创建一个具有两者属性的单个数组。

返回值

返回与获取的行对应的字符串数组,或者NULLresultset中没有更多行。

例子

Example#1面向对象的风格

<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world" /* check connection */ if ($mysqli->connect_errno) {     printf("Connect failed: %s\n", $mysqli->connect_error     exit( } $query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3"; $result = $mysqli->query($query /* numeric array */ $row = $result->fetch_array(MYSQLI_NUM printf ("%s (%s)\n", $row[0], $row[1] /* associative array */ $row = $result->fetch_array(MYSQLI_ASSOC printf ("%s (%s)\n", $row["Name"], $row["CountryCode"] /* associative and numeric array */ $row = $result->fetch_array(MYSQLI_BOTH printf ("%s (%s)\n", $row[0], $row["CountryCode"] /* free result set */ $result->free( /* close connection */ $mysqli->close( ?>

示例#2程序风格

<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world" /* check connection */ if (mysqli_connect_errno()) {     printf("Connect failed: %s\n", mysqli_connect_error()     exit( } $query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3"; $result = mysqli_query($link, $query /* numeric array */ $row = mysqli_fetch_array($result, MYSQLI_NUM printf ("%s (%s)\n", $row[0], $row[1] /* associative array */ $row = mysqli_fetch_array($result, MYSQLI_ASSOC printf ("%s (%s)\n", $row["Name"], $row["CountryCode"] /* associative and numeric array */ $row = mysqli_fetch_array($result, MYSQLI_BOTH printf ("%s (%s)\n", $row[0], $row["CountryCode"] /* free result set */ mysqli_free_result($result /* close connection */ mysqli_close($link ?>

上面的例子会输出:

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