mysqli_result fetch_array() Method
The mysqli_result::fetch_array() / mysqli_fetch_array() function is used to fetch the next row of a result set as an associative, a numeric array, or both. Each subsequent call to this function will return the next row within the result set, or null if there are no more rows.
In addition to storing the data in the numeric indices of the result array, this function can also store the data in associative indices by using the field names of the result set as keys.
If two or more columns of the result have the same name, the last column will take precedence and overwrite any previous data. To access multiple columns with the same name, the numerically indexed version of the row must be used.
Syntax
//Object-oriented style public mysqli_result::fetch_array(mode) //Procedural style mysqli_fetch_array(result, mode)
Parameters
result |
Required. For procedural style only: Specify a mysqli_result object returned by mysqli_query(), mysqli_store_result(), mysqli_use_result() or mysqli_stmt_get_result(). |
mode |
Optional. Indicates type of array produced from the current row data. The possible values are:
|
Return Value
Returns an array representing the fetched row, null if there are no more rows in the result set, or false on failure.
Example: Object-oriented style
The example below shows the usage of mysqli_result::fetch_array() method.
<?php //establishing connection to the database $mysqli = new mysqli("localhost", "user", "password", "database"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: ". $mysqli->connect_error; exit(); } //getting query result from the database $sql = "SELECT Name, Age FROM Employee ORDER BY Age"; $result = $mysqli->query($sql); //associative array $row = $result->array(MYSQLI_ASSOC); printf("%s, %d\n", $row["Name"], $row["Age"]); //numeric array echo "\n"; $row = $result->array(MYSQLI_NUM); printf("%s, (%d)\n", $row[0], $row[1]); //associative and numeric array echo "\n"; $row = $result->array(MYSQLI_BOTH); printf("%s is %d years old.\n", $row[0], $row["Age"]); //free result set $result->free_result(); //closing the connection $mysqli->close(); ?>
The output of the above code will be similar to:
Marry, 23 Kim, 26 John, 27 Adam, 28 Marry (23) Kim (26) John (27) Adam (28) Marry is 23 years old. Kim is 26 years old. John is 27 years old. Adam is 28 years old.
Example: Procedural style
The example below shows the usage of mysqli_fetch_array() function.
<?php //establishing connection to the database $mysqli = mysqli_connect("localhost", "user", "password", "database"); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: ". mysqli_connect_error(); exit(); } //getting query result from the database $sql = "SELECT Name, Age FROM Employee ORDER BY Age"; $result = mysqli_query($mysqli, $sql); //associative array $row = mysqli_fetch_array($result, MYSQLI_ASSOC); printf("%s, %d\n", $row["Name"], $row["Age"]); //numeric array echo "\n"; $row = mysqli_fetch_array($result, MYSQLI_NUM); printf("%s, (%d)\n", $row[0], $row[1]); //associative and numeric array echo "\n"; $row = mysqli_fetch_array($result, MYSQLI_BOTH); printf("%s is %d years old.\n", $row[0], $row["Age"]); //free result set mysqli_free_result($result); //closing the connection mysqli_close($mysqli); ?>
The output of the above code will be similar to:
Marry, 23 Kim, 26 John, 27 Adam, 28 Marry (23) Kim (26) John (27) Adam (28) Marry is 23 years old. Kim is 26 years old. John is 27 years old. Adam is 28 years old.
❮ MySQLi Functions Reference