Heim >Backend-Entwicklung >PHP-Tutorial >So behandeln Sie Ausnahmen in PHP PDO

So behandeln Sie Ausnahmen in PHP PDO

PHPz
PHPznach vorne
2016-07-30 13:29:281477Durchsuche

Wie geht PDO mit Ausnahmen um? Der Inhalt dieses Artikels besteht darin, drei Möglichkeiten zum Umgang mit Fehlern in PDO vorzustellen. Er hat einen gewissen Referenzwert. Ich hoffe, er wird für Sie hilfreich sein.

PDO bietet drei Möglichkeiten zur Fehlerbehandlung

PDO::ERRMODE_SILENT: Silent-Modus (Standard)

PDO::ERRMODE_WARNING: Warnmodus

PDO::ERRMODE_EXCEPTION: Ausnahmemodus

Beispiel:

<?php 

/**
* 利用PDO对象实现异常处理操作
*/

echo "<meta charset=utf-8>";

//PDO类的实例化

// 1 设置数据源相关参数
$dbms = &#39;mysql&#39;;    //选择数据库类型
$host = &#39;localhost&#39;;
$port = &#39;3306&#39;;
$dbname = &#39;test&#39;;
$charset = &#39;utf8&#39;;
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";

// 2 设置用户名密码
$user = &#39;root&#39;;
$pwd = &#39;&#39;;

// 3 实例化PDO类
$pdo = new PDO($dsn,$user,$pwd);

// 4 设置PDO相关属性
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);

// 5 修改PDO为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

try{      //监听
    $sql = "select * from pdo";
    $stmt = $pdo->query($sql);
}catch(PDOException $e){
    //捕获异常
    echo "错误信息为:".$e->getmessage()."<br/>";
    echo "错误代码为:".$e->getCode()."<br/>";
    echo "错误文件为:".$e->getFile()."<br/>";
    echo "错误行号为:".$e->getLine()."<br/>";
}

Hinweis: Für die Ausnahmebehandlung in PDO ist es nicht erforderlich, eine Ausnahmeklasse zu instanziieren und eine Ausnahme auszulösen, da wir PDO in Schritt 5 in den Ausnahmemodus geändert haben:

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

Betriebsergebnisse: Normale Anzeige ohne Auffälligkeiten!

Schreiben Sie den Überwachungscodeblock absichtlich falsch, um zu sehen, ob eine Ausnahme ausgelöst wird und ob die ausgelöste Ausnahme das ist, was wir wollen!

//监听
    $sql = "select * from pdo111";  //把 pdo 错改成 pdo111

Ergebnis:

Ausnahmeinformationen werden ausgegeben, was darauf hinweist, dass die Ausnahmebehandlung erfolgreich war!

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich sein wird: php-Tutorial!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen