Copyright 1997-2012 the PHP Documentation Group.
mysqli_result::fetch_array
mysqli_fetch_array
Fetch a result row as an associative, a numeric array, or both
Description
Object oriented style
mixed mysqli_result::fetch_array(int resulttype= =MYSQLI_BOTH);Procedural style
mixed mysqli_fetch_array(mysqli_result result,
int resulttype= =MYSQLI_BOTH);
Returns an array that corresponds to the fetched row or
NULL
if there are no more rows for the resultset represented by the
result parameter.
mysqli_fetch_array
is an extended version of the
mysqli_fetch_row
function. In addition to storing the data in the numeric indices
of the result array, the
mysqli_fetch_array
function can also store the data in associative indices, using
the field names of the result set as keys.
Field names returned by this function are case-sensitive.
This function sets NULL fields to
the PHP NULL value.
If two or more columns of the result have the same field names, the last column will take precedence and overwrite the earlier data. In order to access multiple columns with the same name, the numerically indexed version of the row must be used.
Parameters
result
Procedural style only: A result set identifier returned
by
mysqli_query,
mysqli_store_result
or
mysqli_use_result.
resulttype
This optional parameter is a constant indicating what
type of array should be produced from the current row
data. The possible values for this parameter are the
constants
MYSQLI_ASSOC
,
MYSQLI_NUM
, or
MYSQLI_BOTH
.
By using the
MYSQLI_ASSOC
constant this function will behave identically to the
mysqli_fetch_assoc,
while
MYSQLI_NUM
will behave identically to the
mysqli_fetch_row
function. The final option
MYSQLI_BOTH
will create a single array with the attributes of both.
Return Values
Returns an array of strings that corresponds to the fetched row
or
NULL
if there are no more rows in resultset.
Examples
Example 3.110. Object oriented style
<?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();
?>
Example 3.111. Procedural style
<?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);
?>
The above examples will output:
Kabul (AFG) Qandahar (AFG) Herat (AFG)
See Also
mysqli_fetch_assoc
|
mysqli_fetch_row
|
mysqli_fetch_object
|
mysqli_query
|
mysqli_data_seek
|

User Comments
Add your own comment.