How to set up php pdo error handling

藏色散人
Release: 2023-03-17 06:54:01
Original
1542 people have browsed it

php pdo error handling setting method: 1. Set "PDO::ERRMODE_SILENT", and then obtain the error information in the form of "$pdo->errorInfo()"; 2. Set "PDO::ERRMODE_WARNING" , check the "E_WARNING" error; 3. Set "PDO::ERRMODE_EXCEPTION", and then output the error message with "try{}cath(){}".

How to set up php pdo error handling

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.

php PDO exception handling details

Exception handling:

PHP: The default is to report errors directly

MYSQL: Default It is the silent mode. If an error occurs, it will be an error. No error will be reported.

PDO: The default is silent mode. If an error occurs, the error will be reported. No error will be reported.

In the past, when PHP encountered an error, it would directly report an error. It can become quite cumbersome to deal with. 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, there are The following three values:

PDO::ERRMODE_SILENT: The default mode does not actively report errors. You need to actively obtain error information in the form of $pdo->errorInfo().

PDO::ERRMODE_WARNING: Raise an E_WARNING error and actively report errors

PDO::ERRMODE_EXCEPTION: Actively throw exceptions and need to output error information with try{}cath(){}.

Example:

Method one:

<?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,&#39;jike&#39;,&#39;w&#39;,55)";
$res = $pdo->exec($sql);
if($res){
  echo "OK";
}else{
  echo $pdo->errorCode();
  print_r($pdo->errorInfo());
}
Copy after login

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,&#39;jike&#39;,&#39;w&#39;,55)";
//若有错误直接在浏览器页面中显示错误信息
$res = $pdo->exec($sql);
Copy after login

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,&#39;jike&#39;,&#39;w&#39;,55)";
//用try{}catch(){}抓取异常
try{
  $res = $pdo->exec($sql);
}catch(PDOException $e){
  echo $e->getMessage();
}
Copy after login

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to set up php pdo error handling. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!