Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der PHP-PDO-Ausnahmebehandlungsmethode

Detaillierte Erläuterung der PHP-PDO-Ausnahmebehandlungsmethode

墨辰丷
Freigeben: 2023-03-28 14:14:01
Original
1767 Leute haben es durchsucht

Dieser Artikel führt Sie hauptsächlich in den relevanten Inhalt der PDO-Ausnahmebehandlung in PHP ein. Der Artikel gibt Ihnen zunächst eine kurze Einführung und stellt dann anhand von Beispielcode vor, wie Sie ihn verwenden können Informieren Sie sich hier. Interessierte Freunde können zusammenkommen und lernen.

Ausnahmebehandlung:

PHP: Standardmäßig werden Fehler direkt gemeldet

MYSQL: Standardmäßig ist der stille Modus aktiviert. Wenn Sie einen Fehler machen, liegen Sie falsch.

PDO: Der Standardwert ist der stille Modus, Fehler sind Fehler, es werden keine Fehler gemeldet

In der Vergangenheit, als PHP auf einen Fehler stieß , würde es einen Fehler direkt melden und die Fehlerbehandlung wäre ziemlich mühsam. Wenn später ein Fehler auftritt, werden die Fehlerinformationen nicht mehr direkt ausgegeben und in einem Objekt einer Klasse abgelegt (PDOException)

pdo-Ausnahmebehandlungseinstellungen:

Setzen Sie PDO::ATTR_ERRMODE, das die folgenden drei Werte hat:

PDO::ERRMODE_SILENT: Standardmodus, meldet Fehler nicht aktiv, muss aktiv sein Verwenden Sie $pdo->errorInfo (), um Fehlerinformationen zu erhalten.

PDO::ERRMODE_WARNING: Einen E_WARNING-Fehler auslösen und Fehler proaktiv melden

PDO::ERRMODE_EXCEPTION: Ausnahmen proaktiv auslösen, und Sie müssen try{}cath(){} verwenden, um den Fehler auszugeben Information.

Beispiel:

Methode 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,&#39;jike&#39;,&#39;w&#39;,55)";
$res = $pdo->exec($sql);
if($res){
  echo "OK";
}else{
  echo $pdo->errorCode();
  print_r($pdo->errorInfo());
}
Nach dem Login kopieren

Methode 2:

<?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);
Nach dem Login kopieren

Methode 3:

<?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();
}
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.


Verwandte Empfehlungen:

Ausführliche Erklärung, wie man den Standort eines Mobiltelefons mit PHP abfragt

Detaillierte grafische Erläuterung gängiger Lösungen zur Erkennung von Fehlern in PHP

PHP implementiert die Konvertierung zwischen ASCII-Code und String

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-PDO-Ausnahmebehandlungsmethode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage