PHP mysqli_driver() and mysqli_report()

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

  • mysqli_driver()
  • mysqli_report()

Both the functions are used to modify the error reporting mode. The only difference is, the mysqli_driver() uses with PHP MySQLi object-oriented script, whereas the mysqli_report() uses with PHP MySQLi procedural script.

PHP mysqli_driver()

The PHP mysqli_driver() function is used when we need to modify the error reporting mode in object-oriented style. For example:

<?php
   $driver = new mysqli_driver();
   $driver -> report_mode = MYSQLI_REPORT_OFF;
   
   $server = "localhost";
   $user = "root";
   $pass = "";
   $db = "abc";
   
   $conn = @new mysqli($server, $user, $pass, $db);
   
   if($conn -> connect_errno)
   {
      echo "Database connection failed.";
      echo "<BR>";
      echo "Error Code: ", $conn -> connect_errno;
      exit();
   }
   else
   {
      echo "Connection established successfully!";
      
      // block of code, to process further
   }
   $conn -> close();
?>

Since the database abc is not available in my MySQL database server. Therefore the output of above example is:

php mysqli driver

Note - The @ used before new mysqli(, to suppress the default error.

Without the following two statements, in above example:

$driver = new mysqli_driver();
$driver -> report_mode = MYSQLI_REPORT_OFF;

The output should be:

php mysql mysqli driver

That is, using the new keyword, an object named $driver is created, of class mysqli_driver(). And using the object $driver, I have changed the value of report_mode to MYSQLI_REPORT_OFF, to turn of the error reporting.

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 close() is used to close an opened connection, in object-oriented style.

PHP mysqli_driver() Syntax

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

$mysqli_driver -> report_mode;

That is:

$mysqli_driver = new mysqli_driver();
$mysqli_driver -> report_mode = flag;

Based on the flag, error reporting mode set to exception, warning or none. Here are the list of flags, that can be used:

  • MYSQLI_REPORT_ALL - Used to report all errors
  • MYSQLI_REPORT_OFF - Used to turn off error reporting
  • MYSQLI_REPORT_ERROR - Used to report error from mysqli() function call
  • MYSQLI_REPORT_INDEX - Used to report error only when no or bad index used in a query
  • MYSQLI_REPORT_STRICT - Used to throw mysqli_sql_exception for errors instead of warnings

PHP mysqli_report()

The PHP mysqli_report() function is used when we need to modify the error reporting mode in procedural style. For example:

<?php
   mysqli_report(MYSQLI_REPORT_OFF);
   
   $server = "localhost";
   $user = "root";
   $pass = "";
   $db = "abc";
   
   $conn = @mysqli_connect($server, $user, $pass, $db);
   
   if(mysqli_connect_errno())
   {
      echo "Database connection failed.";
      echo "<BR>";
      echo "Error Code: ", mysqli_connect_errno();
      exit();
   }
   else
   {
      echo "Connection established successfully!";
      
      // block of code, to process further
   }
   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_close() is used to close an opened connection to the MySQL database, in procedural style.

PHP mysqli_report() Syntax

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

mysqli_report(flag);

PHP Online Test


« Previous Tutorial Next Tutorial »

Like/Share Us on Facebook 😋