International PHP Conference Munich 2021



(PHP 5, PHP 7)

mysqli_result::fetch_row -- mysqli_fetch_rowRécupère une ligne de résultat sous forme de tableau indexé


Style orienté objet

public mysqli_result::fetch_row(): array|null|false

Style procédural

mysqli_fetch_row(mysqli_result $result): array|null|false

Récupère une ligne de données à partir du jeu de résultats représenté par result et le retourne en tant que tableau indexé, où chaque colonne est une case du tableau, celui-ci commençant à 0 (zéro). Chaque nouvel appel à mysqli_fetch_row() retournera la prochaine ligne dans le jeu de résultats, ou null s'il n'y a plus de lignes.

Note: Cette fonction définit les champs NULL à la valeur PHP null.

Liste de paramètres


Style procédural uniquement : Un objet mysqli_result retourné par mysqli_query(), mysqli_store_result(), mysqli_use_result(), ou mysqli_stmt_get_result().

Valeurs de retour

mysqli_fetch_row() retourne un tableau de valeur correspondant à la ligne récupérée ou null s'il n'y a plus de ligne dans le jeu de résultats.


Exemple #1 Exemple mysqli_result::fetch_row()

Style orienté objet


$mysqli = new mysqli("localhost""my_user""my_password""world");

$query "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result $mysqli->query($query);

/* Récupère un tableau d'objets */
while ($row $result->fetch_row()) {
printf("%s (%s)\n"$row[0], $row[1]);

Style procédural


$mysqli mysqli_connect("localhost""my_user""my_password""world");

$query "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result mysqli_query($mysqli$query);

/* Récupère un tableau associatif */
while ($row mysqli_fetch_row($result)) {
printf("%s (%s)\n"$row[0], $row[1]);

Les exemples ci-dessus vont afficher quelque chose de similaire à :

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Voir aussi

add a note add a note

User Contributed Notes 4 notes

14 years ago
It's worth noting that the MySQLi functions (and, I presume, the MySQL functions) fetch a string regardless of the MySQL data type. E.g. if you fetch a row with an integer column, the corresponding value for that column and row will still be stored as a string in the array returned by mysql_fetch_row.
sainthyoga2003 at gmail dot com
7 years ago
Note that mysqli_fetch() is deprecated but still is in PHP function list. mysqli_fetch_row() is nowadays mysql procedural style used, but is not listed in PHP functions.
evangun2001 at yahoo dot fr
13 years ago
Remember that fetch() and fetch_row() are two different things, and differ in the way to use them.

- fetch() is used on a statement (like an executed prepared statement) and needs to be used in association with bind_result().

- fetch_row() is used on a result (like the result of query()).

As a consequence, if you want to use to use fetch_row() with an executed prepared statement, first you'll have to get the result out of this statement with mysqli_store_result() or mysqli_use_result().
maillist at
17 years ago

4. Be careful when porting from ext/mysql to ext/mysqli. The following
   functions return NULL when no more data is available in the result set
   (ext/mysql's functions return FALSE).

    - mysqli_fetch_row()
    - mysqli_fetch_array()
    - mysqli_fetch_assoc()
To Top