mysqli_result::fetch_array
, mysqli_fetch_array
mysqli_result::fetch_array
mysqli_fetch_array
Fetch a result row as an associative, a numeric array, or both
Description
Object oriented stylemixed mysqli_result::fetch_array(int resulttype= =MYSQLI_BOTH);
Procedural stylemixed 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.Note
Field names returned by this function are case-sensitive.Note
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
ormysqli_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
, orMYSQLI_BOTH
.By using the
MYSQLI_ASSOC
constant this function will behave identically to themysqli_fetch_assoc
, whileMYSQLI_NUM
will behave identically to themysqli_fetch_row
function. The final optionMYSQLI_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 20.179. 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->close(); /* close connection */ $mysqli->close(); ?>
Example 20.180. 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 |