PHP fetch_assoc() and mysqli_fetch_assoc()

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

Both functions are used to fetch the next row of the result set as an associative array. The only difference is that fetch_assoc() is used with PHP mysqli object-oriented script, whereas 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 the above PHP example on the fetch_assoc() function is shown in the snapshot given below:

php mysql fetch assoc function

Note: The mysqli() function 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 or return the error code (if any) from the last connect call in object-oriented style.

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

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

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

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

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

Note: If you want to fetch and display the data using a 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 the 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() function is used to open a connection to the MySQL database server in procedural style.

Note: The mysqli_connect_errno() function is used to get or return the error code (if any) from the last connect call in procedural style.

Note: The mysqli_query() function is used to perform queries on the MySQL database in procedural style.

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

PHP mysqli_fetch_assoc() Syntax

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

mysqli_fetch_assoc(result)

PHP Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!