PHP mysqli_driver() and mysqli_report()

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

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

PHP mysqli_driver()

When we want to change the error reporting mode in an object-oriented way, we use the PHP mysqli_driver() function. 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 on my MySQL database server. Therefore, the output of the above example is:

php mysqli driver

Note: The @ symbol was used before new mysqli() to suppress the default error.

Without the following two statements, in the 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 of class mysqli_driver() is created. And using the object $driver, I have changed the value of report_mode to MYSQLI_REPORT_OFF to turn off the error reporting.

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

PHP mysqli_driver() Syntax

The syntax of the 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 is set to exception, warning, or none. Here is the list of flags that can be used:

PHP mysqli_report()

When we need to change the error reporting mode in a procedural way, we use the PHP mysqli_report() function. 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() 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_close() function is used to close an opened connection to the MySQL database in procedural style.

PHP mysqli_report() Syntax

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

mysqli_report(flag);

PHP Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!