PHP bind_result() and mysqli_stmt_bind_result()

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

Both functions are used to bind variables to a prepared statement for result storage. The only difference is, the bind_result() is used with PHP MySQLi object-oriented script, whereas the mysqli_stmt_bind_result() is used with PHP MySQLi procedural script.

PHP bind_result()

The PHP bind_result() function is used to bind variables to a prepared statement for result storage, in object-oriented style. For example:

<?php
   $conn = new mysqli("localhost", "root", "", "fresherearth");
   
   if(!$conn->connect_errno)
   {
      $stmt = $conn->prepare("SELECT name, email FROM customer");
      $stmt->execute();
      $stmt->bind_result($x, $y);
      while($stmt->fetch())
      {
         echo "Name: ", $x, "<BR>";
         echo "Email: ", $y, "<HR>";
      }
   }
   $conn->close();
?>

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

php bind result function

The data/output, you are seeing, are available in the table named customer at fields namely name and email.

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 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 bind_result() is used to bind variables to a prepared statement for result storage, in object-oriented style.

Note - The fetch() is used to fetch results from a prepared statement into bound variables, in object-oriented style.

PHP bind_result() Syntax

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

$mysqli_stmt -> bind_result(variables...)

That is, the bind_result() binds columns in the result set to variables. The variables parameter consists of single or multiple variables.

PHP mysqli_stmt_bind_result()

The PHP mysqli_stmt_bind_result() function is used to bind variables to a prepared statement for result storage, in procedural style. For example:

<?php
   $conn = mysqli_connect("localhost", "root", "", "fresherearth");
   
   if(!mysqli_connect_errno())
   {
      $stmt = mysqli_prepare($conn, "SELECT name, email FROM customer");
      mysqli_stmt_execute($stmt);
      mysqli_stmt_bind_result($stmt, $x, $y);
      while(mysqli_stmt_fetch($stmt))
      {
         echo "Name: ", $x, "<BR>";
         echo "Email: ", $y, "<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_stmt_fetch() is used to fetch results from a prepared statement into bound variables, in procedural style.

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

PHP mysqli_stmt_bind_result() Syntax

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

mysqli_stmt_bind_result($mysqli_stmt, variables...)

PHP Online Test


« Previous Tutorial Next Tutorial »