Bagaimana untuk menyediakan pengendalian ralat pdo php

藏色散人
Lepaskan: 2023-03-17 06:54:01
asal
1543 orang telah melayarinya

kaedah tetapan pengendalian ralat pdo: 1. Tetapkan "PDO::ERRMODE_SILENT", dan kemudian dapatkan maklumat ralat dalam bentuk "$pdo->errorInfo()"; :ERRMODE_WARNING" , semak ralat "E_WARNING"; 3. Tetapkan "PDO::ERRMODE_EXCEPTION", dan kemudian keluarkan mesej ralat dengan "try{}cath(){}".

Bagaimana untuk menyediakan pengendalian ralat pdo php

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer Dell G3.

Penjelasan terperinci tentang pengendalian pengecualian php PDO

Pengendalian pengecualian:

PHP: Lalai adalah melaporkan ralat secara langsung

MYSQL: Lalai Ia berada dalam mod senyap. Jika ralat berlaku, ia akan menjadi salah dan tiada ralat akan dilaporkan salah dan tiada ralat akan dilaporkan.

Pada masa lalu, apabila PHP mengalami ralat, ia akan secara langsung melaporkan ralat. Kemudian, apabila ralat berlaku, maklumat ralat tidak lagi akan dikeluarkan secara langsung dan akan diletakkan dalam objek kelas (PDOException)

tetapan pengendalian pengecualian pdo:

Tetapkan PDO::ATTR_ERRMODE, dengan Tiga nilai berikut:

PDO::ERRMODE_SILENT: Mod lalai tidak melaporkan ralat secara aktif Anda perlu secara aktif mendapatkan maklumat ralat dalam bentuk $pdo->errorInfo().

PDO::ERRMODE_WARNING: Naikkan ralat E_WARNING dan laporkan ralat secara proaktif

PDO::ERRMODE_EXCEPTION: Buang pengecualian secara proaktif dan anda perlu menggunakan try{}cath(){} untuk mengeluarkan ralat maklumat.

Contoh:

Kaedah satu:

Kaedah kedua:
<?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());
}
Salin selepas log masuk

Kaedah tiga:
<?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);
Salin selepas log masuk

Pembelajaran yang disyorkan: "
<?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();
}
Salin selepas log masuk
Tutorial Video PHP

"

Atas ialah kandungan terperinci Bagaimana untuk menyediakan pengendalian ralat pdo php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!