The mysqli_sql_exception class

(PHP 5)

Introduktion

The mysqli exception handling class.

Klasse synopsis

mysqli_sql_exception extends RuntimeException {
/* Egenskaber */
protected $code ;
protected $sqlstate ;
}

Egenskaber

message

The error message.

file

The file with the error.

line

The line with the error.

code

The code causing the error.

sqlstate

The sql state with the error.

add a note add a note

User Contributed Notes 5 notes

up
6
fibrizo dot raziel at gmail dot com
8 years 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
2
dronebraindeveloper at gmail dot com
11 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
-5
callforeach at gmail dot com
9 years 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
-18
polyanin at gmail dot com
10 years ago
$driver = new mysqli_driver();
        $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT;
up
-28
cnlyzy at qq dot com
7 years ago
<?php
mysqli_report
(MYSQLI_REPORT_STRICT);
try {
   
$mysqli = new mysqli('127.0.0.1','uesr','password','testDB');
    echo
'connect success';
} catch (
Exception $e) {
    echo
'ERROR:'.$e->getMessage();
}
To Top