PHP: mysqli_fetch_array - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mysqli_fetch_assoc mysqli_execute

Last updated: Sat, 27 Jan 2007

view this page in

# mysqli_fetch_array

(PHP 5)

mysqli_fetch_array

(no version information, might be only in CVS)

result->fetch_array -- Fetch a result row as an associative, a numeric array, or both

## Description

Procedural style:

mixed mysqli_fetch_array ( mysqli_result result [, int resulttype] )

Object oriented style (method):

class mysqli_result {
mixed fetch_array ( [int resulttype] )
}

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.

> Замечание: Имена полей, возвращаемые этой функцией, регистро-зависимы.

> Замечание: Эта функция устанавливает NULL-поля в значение `NULL` PHP.

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.

The optional second argument `resulttype` 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 default the mysqli_fetch_array() function will assume MYSQLI_BOTH for this parameter.

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.

## Возвращаемые значения

Returns an array that corresponds to the fetched row or `NULL` if there are no more rows in resultset.

## Смотрите также

mysqli_fetch_assoc(), mysqli_fetch_row(), mysqli_fetch_object(), mysqli_query() и mysqli_data_seek().

## Примеры

Пример 1. 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();
?>`

Пример 2. 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);
?>`

Результат выполнения данного примера:

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

add a note User Contributed Notes
mysqli_fetch_array
carpetsmoker at gmail dot com
12-Aug-2006 09:33
`Works fine
$db->query("select * from sometbl");
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
print_r($row);
}
$result = mysqli_query($db, 'select * from sometbl');
while ($row = mysqli_fetch_array($result))
{
print_r($row);
}`
travis at ignw dot com
11-Aug-2006 08:54
`With the older mysql functions, you could iterate through all the rows in your result set with:
<? while($row=mysql_fetch_array($result)){
dostuff;
} ?>
However, this functionality, at least in my experience, doesn't work with mysqli. This does:
<? $row = mysqli_fetch_array($result);
while(!is_null($row)){
dostuff;
$row = mysqli_fetch_array($result);
} ?>`
add a note
mysqli_fetch_assoc mysqli_execute

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST