PHP fetch_assoc() and mysqli_fetch_assoc()

This article is created to cover the two functions of PHP, that are:

  • fetch_assoc()
  • mysqli_fetch_assoc()

Both functions are used to fetch next row of result set as an associative array. The only difference is, the fetch_assoc() is used with PHP MySQLi object-oriented script, whereas the mysqli_fetch_assoc() is used with PHP MySQLi procedural script.

PHP fetch_assoc()

The PHP fetch_assoc() function fetches the next row of a result set as an associative array, in PHP MySQLi object-oriented style. For example:

<?php
   $server = "localhost";
   $user = "root";
   $pass = "";
   $db = "codescracker";
   
   $conn = new mysqli($server, $user, $pass, $db);
   
   if($conn -> connect_errno)
   {
      echo "Database connection failed!<BR>";
      echo "Reason: ", $conn -> connect_error;
      exit();
   }
   
   $sql = "SELECT * FROM customer";
   
   $result = $conn -> query($sql);
   if($result == true)
   {
      while($row = $result -> fetch_assoc())
      {
         echo "Name: ", $row['name'];
         echo "<BR>";
         echo "Age: ", $row['age'];
         echo "<HR>";
      }
      $result -> free_result();
   }
   else
   {
      echo "Something went wrong!<BR>";
      echo "Error Description: ", $conn -> error;
   }
   $conn -> close();
?>

The output produced by above PHP example on fetch_assoc() function, is shown in the snapshot given below:

php mysql fetch assoc function

Note - The mysqli() is used to open a connection to the MySQL database server, in object-oriented style.

Note - The new keyword is used to create a new object.

Note - The connect_errno is used to get/return the error code (if any) from last connect call, in object-oriented style.

Note - The connect_error is used to get the error description (if any) from last connection, in object-oriented style.

Note - The query() is used to perform query on the MySQL database, in object-oriented style.

Note - The free_result() is used to free the stored result, in object-oriented style.

Note - The error is used to return the description of error (if any), by the most recent function call, in object-oriented style.

Note - The close() is used to close an opened connection, in object-oriented style.

Note - If you want to fetch and display the data using column number, then use fetch_row() (object-oriented) or mysqli_fetch_row() (procedural).

The above example, can also be written as:

<?php
   $conn = new mysqli("localhost", "root", "", "codescracker");
   
   if(!$conn -> connect_errno)
   {
      if($result = $conn -> query("SELECT * FROM customer"))
      {
         while($row = $result -> fetch_assoc())
         {
            echo "Name: ", $row['name'];
            echo "<BR>";
            echo "Age: ", $row['age'];
            echo "<HR>";
         }
      }
   }
   $conn -> close();
?>

PHP fetch_assoc() Syntax

The syntax of fetch_assoc() function in PHP, is:

$result -> fetch_assoc()

PHP mysqli_fetch_assoc()

The PHP mysqli_fetch_assoc() function fetches the next row of a result set as an associative array, in PHP MySQLi procedural style. For example:

<?php
   $conn = mysqli_connect("localhost", "root", "", "codescracker");
   
   if(!mysqli_connect_errno())
   {
      if($result = mysqli_query($conn, "SELECT * FROM customer"))
      {
         while($row = mysqli_fetch_assoc($result))
         {
            echo "Name: ", $row['name'];
            echo "<BR>";
            echo "Age: ", $row['age'];
            echo "<HR>";
         }
      }
   }
   mysqli_close($conn);
?>

Note - The mysqli_connect() is used to open a connection to the MySQL database server, in procedural style.

Note - The mysqli_connect_errno() is used to get/return the error code (if any) from last connect call, in procedural style.

Note - The mysqli_query() is used to perform query on the MySQL database, in procedural style.

Note - The mysqli_close() is used to close an opened connection to the MySQL database, in procedural style.

PHP mysqli_fetch_assoc() Syntax

The syntax of mysqli_fetch_assoc() function in PHP, is:

mysqli_fetch_assoc(result)

PHP Online Test


« Previous Tutorial Next Tutorial »

Like/Share Us on Facebook 😋