PHP get_result() and mysqli_stmt_get_result()

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

  • get_result()
  • mysqli_stmt_get_result()

Both the functions are used to get a result set from a prepared statement, as a mysqli_result object. The only difference is, the get_result() uses with PHP MySQLi object-oriented script, whereas the mysqli_stmt_get_result() uses with PHP MySQLi procedural script.

PHP get_result()

The PHP get_result() function returns a result set from a prepared statement, as a mysqli_result object in 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;
   }
   else
   {
      $sql = "SELECT name, age FROM customer";
      $stmt = $conn->prepare($sql);
      
      if($stmt->execute() == true)
      {
         $result = $stmt->get_result();
         while($row = $result->fetch_array())
         {
            echo "Name: ", $row[0];
            echo "<BR>";
            echo "Age: ", $row[1];
            echo "<HR>";
         }
      }
   }
   $conn->close();
?>

The output of above PHP example on get_result() function, is shown in the snapshot given below:

php get_result 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 prepare() is used to prepare an SQL statement before its execution on the MySQL database, in object-oriented style, to avoid SQL injection.

Note - The execute() is used to execute a prepared statement on the MySQL database, in object-oriented style.

Note - The fetch_array() is used, when we need to fetch and get the result as an enumerated array or as an associative array, or as both, in object-oriented style.

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

The above example can also be written as:

<?php
   $conn = new mysqli("localhost", "root", "", "codescracker");
   
   if(!$conn->connect_errno)
   {
      $stmt = $conn->prepare("SELECT name, age FROM customer");
      $stmt->execute();
      $result = $stmt->get_result();
      while($row = $result->fetch_array())
      {
         echo "Name: ", $row[0];
         echo "<BR>";
         echo "Age: ", $row[1];
         echo "<HR>";
      }
   }
   $conn->close();
?>

PHP get_result() Syntax

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

$mysqli_stmt -> get_result()

PHP mysqli_stmt_get_result()

The PHP mysqli_stmt_get_result() function returns a result set from a prepared statement, as a mysqli_result object in procedural style. For example:

<?php
   $conn = mysqli_connect("localhost", "root", "", "codescracker");
   
   if(!mysqli_connect_errno())
   {
      $stmt = mysqli_prepare($conn, "SELECT name, age FROM customer");
      mysqli_stmt_execute($stmt);
      $result = mysqli_stmt_get_result($stmt);
      while($row = mysqli_fetch_array($result))
      {
         echo "Name: ", $row[0];
         echo "<BR>";
         echo "Age: ", $row[1];
         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_prepare() is used to prepare an SQL statement before its execution on the MySQL database, in procedural style, to avoid SQL injection.

Note - The mysqli_stmt_execute() is used to execute a prepared statement on the MySQL database, in procedural style.

Note - The mysqli_fetch_array() is used, when we need to fetch and get the result as an enumerated array or as an associative array, or as both, in procedural style.

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

PHP mysqli_stmt_get_result() Syntax

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

mysqli_stmt_get_result($mysqli_stmt)

PHP Online Test


« Previous Tutorial Next Tutorial »

Follow/Like Us on Facebook




Subscribe Us on YouTube