So behandeln Sie Ausnahmen in PHP PDO

PHPz
Freigeben: 2018-12-07 11:33:55
nach vorne
1444 Leute haben es durchsucht

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/>";
}
Nach dem Login kopieren

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

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

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!

Verwandte Etiketten:
Quelle:cnblogs.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage