PHP 7.1.0 Released

The mysqli_sql_exception class

(PHP 5, PHP 7)

Introducere

The mysqli exception handling class.

Sinopsisul clasei

mysqli_sql_exception extends RuntimeException {
/* Proprietăți */
protected string $sqlstate ;
/* Proprietăți moștenite */
protected string $message ;
protected int $code ;
protected string $file ;
protected int $line ;
}

Proprietăți

sqlstate

The sql state with the error.

add a note add a note

User Contributed Notes 5 notes

up
1
fibrizo dot raziel at gmail dot com
1 year ago
<?php  mysqli_report(MYSQLI_REPORT_STRICT) ?>
was not enough for me to enable exception throwing. I had to write this:
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); ?>
up
1
callforeach at gmail dot com
1 year ago
Please note that MYSQLI_REPORT_STRICT does not allow certain exceptions to be trapped. I find MYSQLI_REPORT_ALL to be more friendly since it allows me to trap all errors and handle them appropriately.
up
1
dronebraindeveloper at gmail dot com
3 years ago
Quick note on how to setup and use mysqli_sql_exceptions properly

<?php
define
("MYSQL_CONN_ERROR", "Unable to connect to database.");

// Ensure reporting is setup correctly
mysqli_report(MYSQLI_REPORT_STRICT);

// Connect function for database access
function connect($usr,$pw,$db,$host) {
   try {
     
$mysqli = new mysqli($host,$usr,$pw,$db);
     
$connected = true;
   } catch (
mysqli_sql_exception $e) {
      throw
$e;
   }
}

try {
 
connect('username','password','database','host');
  echo
'Connected to database';
} catch (
Exception $e) {
  echo
$e->errorMessage();
}
?>
up
-7
callforeach at gmail dot com
1 year ago
You need to be careful when using MYSQLI_REPORT_ALL, if the exceptions are not handled properly, end users may use it a tool to aid them in implementing sql injection.
up
-14
polyanin at gmail dot com
2 years ago
$driver = new mysqli_driver();
        $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT;
To Top