php.net

mysqli_fetch_row

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_row -- mysqli_fetch_rowFetch the next row of a result set as an enumerated array

Description

Object-oriented style

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

Note:

This function sets NULL fields to the PHP null value.

Return Values

Returns an enumerated array representing the fetched row, null if there are no more rows in the result set, or false on failure.

Examples

Example #1 mysqli_result::fetch_row() example

Object-oriented style

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = $mysqli->query($query);
/* fetch object array */
while ($row = $result->fetch_row()) {
    printf("%s (%s)\n", $row[0], $row[1]);
}

Procedural style

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";
$result = mysqli_query($mysqli, $query);
/* fetch associative array */
while ($row = mysqli_fetch_row($result)) {
    printf("%s (%s)\n", $row[0], $row[1]);
}

The above examples will output something similar to:

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

See Also

20

Stephen

19 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.

4

sainthyoga2003 at gmail dot com

12 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.

5

evangun2001 at yahoo dot fr

18 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().

Read the original on php.net ↗