English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Basic Tutorial

PHP Advanced Tutorial

PHP & MySQL

PHP Reference Manual

PHP mysqli_fetch_array() Function Usage and Example

PHP MySQLi Reference Manual

The mysqli_fetch_array() function retrieves a row from the result set as an associative array, a numeric array, or both.

Definition and usage

PHP result object (mysqli_result class) represents a MySQL result returned by SELECT or DESCRIBE or EXPLAIN queries.
The mysqli_fetch_array() function takes a result object as a parameter, retrieves the content of the current row in the given result object, and returns it as an associative array or a numeric array.

Syntax

mysqli_fetch_array($result, [$type]);

Parameter

Serial numberParameters and descriptions
1

result (required)

This is an identifier representing the result object.

2

type (required)

This is an integer value that specifies the type of the returned array. The value of type is one of the following-

  • MYSQLI_ASSOC

  • MYSQLI_NUM

  • MYSQLI_BOTH

Return value

The PHP mysqli_fetch_array() function returns an array (associative or numeric), which saves the current row of the result object. If there are no more rows, this function will return NULL.

PHP version

This function was originally introduced in PHP version5introduced and can be used in all higher versions.

Online Example

The following examples demonstratemysqli_fetch_array()The usage of the function (procedural style), obtaining rows from the result set as a numeric array or associative array, and printing the field values:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR("255),  Last_Name  VARCHAR(255),  Place_Of_Birth  VARCHAR(255),  Country  VARCHAR(255))");
   print("Create table.....\n");
   mysqli_query($con,  "INSERT  INTO  myplayers  values(1,  'Sikhar',  'Dhawan',  'Delhi',  'India')");
   mysqli_query($con,  "INSERT  INTO  myplayers  values(2,  'Jonathan',  'Trott',  'Cape Town',  'South Africa')");
   mysqli_query($con,  "INSERT  INTO  myplayers  values(3,  'Kumara',  'Sangakkara',  'Matale',  'Sri Lanka')");
   print("Insert record.....\n");
   //Retrieve the content of the table
   $res  =  mysqli_query($con,  "SELECT * FROM  myplayers");
   //Get all rows as an array
   while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)){
      print("ID: " . $row["ID"] . "\n");
      print("First_Name: " . $row["First_Name"] . "\n");
      print("Last_Name: ".$row["Last_Name"]."\n");
      print("Place_Of_Birth: ".$row["Place_Of_Birth"]."\n");
      print("Country: ".$row["Country"]."\n");
   }
   //End statement
   mysqli_free_result($res);
   //Close connection
   mysqli_close($con);
?>

Output result

Create table.....
Insert record.....
ID: 1
First_Name:  Sikhar
Last_Name:  Dhawan
Place_Of_Birth:  Delhi
Country:  India
ID: 2
First_Name:  Jonathan
Last_Name:  Trott
Place_Of_Birth:  Cape Town
Country:  South Africa
ID: 3
First_Name:  Kumara
Last_Name:  Sangakkara
Place_Of_Birth:  Matale
Country:  Sri Lanka

Online Example

In the object-oriented style, the syntax of this function is$result->fetch_array();.Here is an example of this function in an object-oriented style;

<?php
   //Establish Connection
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), Age INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27);
   print("Create table.....\n");
   $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   //Execute Statement
   $stmt->execute();
   //Search Results
   $result = $stmt->get_result();
   //Get all rows as an array
   while($row = $result->fetch_array(MYSQLI_ASSOC)){	
      print("Name: ".$row["Name"]."\n");
      print("Age: ".$row["Age"]."\n");
   }
   //End statement
   $stmt->close();
   //Close connection
   $con->close();
?>

Output result

Create table.....
Name: Raju
Age: 25
Name: Rahman
Age: 30

Online Example

You can also retrieve the content of the result rows as a numeric array:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR("255),  Last_Name  VARCHAR(255),  Place_Of_Birth  VARCHAR(255),  Country  VARCHAR(255))");
   print("Create table.....\n");
   mysqli_query($con,  "INSERT  INTO  myplayers  values(1,  'Sikhar',  'Dhawan',  'Delhi',  'India')");
   mysqli_query($con,  "INSERT  INTO  myplayers  values(2,  'Jonathan',  'Trott',  'Cape Town',  'South Africa')");
   mysqli_query($con,  "INSERT  INTO  myplayers  values(3,  'Kumara',  'Sangakkara',  'Matale',  'Sri Lanka')");
   print("Insert record.....\n");
   //Retrieve the content of the table
   $res  =  mysqli_query($con,  "SELECT * FROM  myplayers");
   //Get all rows as an array
   while($row  =  mysqli_fetch_array($res,  MYSQLI_NUM)){
      print("ID:  ".$row[0]."\n");
      print("First_Name:  ".$row[1]."\n");
      print("Last_Name:  ".$row[2]."\n");
      print("Place_Of_Birth:  ".$row[3]."\n");
      print("Country:  ".$row[4]."\n");
   }
   //End statement
   mysqli_free_result($res);
   //Close connection
   mysqli_close($con);
?>

Output result

Create table.....
Insert record.....
ID: 1
First_Name:  Sikhar
Last_Name:  Dhawan
Place_Of_Birth:  Delhi
Country:  India
ID: 2
First_Name:  Jonathan
Last_Name:  Trott
Place_Of_Birth:  Cape Town
Country:  South Africa
ID: 3
First_Name:  Kumara
Last_Name:  Sangakkara
Place_Of_Birth:  Matale
Country:  Sri Lanka

PHP MySQLi Reference Manual