This article mainly introduces you to the relevant content of PDO exception handling in php. The article first gives you a brief introduction, and then introduces how to use it through example code. The introduction is very detailed, friends in need We can refer to it. Friends who are interested can come and learn together.
Exception handling:
PHP: The default is to report errors directly
MYSQL: The default is silent mode, if you make an error, you will make an error. No error reporting
PDO: The default is silent mode, errors are errors, no errors are reported
In the past, when PHP encountered an error, it would directly report an error, and error handling would become quite troublesome. Later, when an error occurs, the error message will no longer be output directly and will be placed in a class object (PDOException)
pdo exception handling settings:
Set PDO::ATTR_ERRMODE, which has the following three values:
PDO::ERRMODE_SILENT: Default mode, does not actively report errors, you need to actively use $pdo->errorInfo () to obtain error information.
PDO::ERRMODE_WARNING: Raise an E_WARNING error and actively report errors
PDO::ERRMODE_EXCEPTION: Actively throw exceptions, and you need to output error information with try{}cath(){}.
Example:
Method 1:
<?php //默认是不提示的 需要用 errorCode() errorInfo(); try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //下面这句是默认设置,有无均可 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; $res = $pdo->exec($sql); if($res){ echo "OK"; }else{ echo $pdo->errorCode(); print_r($pdo->errorInfo()); }
Method two:
<?php try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //主动以警告的形式报错 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; //若有错误直接在浏览器页面中显示错误信息 $res = $pdo->exec($sql);
##Method three:
<?php try{ $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root",""); //主动抛出异常 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION ); }catch(PDOException $e){ die("数据库连接失败".$e->getMessage()); } $sql = "insert into stuu values(null,'jike','w',55)"; //用try{}catch(){}抓取异常 try{ $res = $pdo->exec($sql); }catch(PDOException $e){ echo $e->getMessage(); }
Detailed explanation of how to query the location of a mobile phone using PHP
Detailed graphic and text explanation of common solutions to Notice errors in PHP
PHP realizes conversion between ASCII code and string
The above is the detailed content of Detailed explanation of php PDO exception handling method. For more information, please follow other related articles on the PHP Chinese website!