首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysqli_result::fetch_array

(PHP 5, PHP 7)

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

描述

面向对象的风格

代码语言:javascript
复制
mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )

程序风格

代码语言:javascript
复制
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值。

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

参数

代码语言:txt
复制
`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面向对象的风格

代码语言:javascript
复制
<?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程序风格

代码语言:javascript
复制
<?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);
?>

上面的例子会输出:

代码语言:javascript
复制
Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com