errorInfo()" 2. Tetapkan "PDO::ERRMODE_WARNING" dan semak " E_WARNING" ralat; 3. Tetapkan "PDO::ERRMODE_EXCEPTION" dan kemudian keluarkan mesej ralat dengan "try{}cath(){}"."/> errorInfo()" 2. Tetapkan "PDO::ERRMODE_WARNING" dan semak " E_WARNING" ralat; 3. Tetapkan "PDO::ERRMODE_EXCEPTION" dan kemudian keluarkan mesej ralat dengan "try{}cath(){}".">

Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyediakan pengendalian ralat pdo php

Bagaimana untuk menyediakan pengendalian ralat pdo php

藏色散人
藏色散人asal
2022-10-19 09:59:181620semak imbas

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());
}

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);

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();
}
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!

Kenyataan:
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