Ralat dan pengendalian pengecualian

Mod pengendalian pengecualian ralat: PDO::ERRMODE_EXCEPTION

Sebagai lampiran kepada menetapkan kod ralat, PDO akan membuang PDOException dan menetapkan maklumat ralatnya untuk mencerminkan kod ralat. Tetapan ini juga sangat berguna apabila menyahpepijat, kerana ia akan "meletupkan" titik ralat dalam skrip dengan berkesan, dengan cepat menunjukkan kawasan ralat yang mungkin dalam kod anda. (Ingat: jika pengecualian menyebabkan skrip dibatalkan, transaksi akan digulung semula secara automatik.)
  Mod pengecualian juga sangat berguna kerana anda boleh menangani ralat menggunakan struktur yang lebih jelas daripada struktur pengendalian ralat gaya PHP tradisional bersarang daripada menggunakan mod senyap, dan boleh menyemak nilai pulangan setiap akses pangkalan data dengan lebih jelas.

微信图片_20180305114759.png

Kod yang lengkap adalah seperti berikut:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 上午 9:23
 */
header("Content-Type:text/html;charset=utf-8");
//mysql:host:localhost;port=3306;dbname=php;charset=utf-8
$dbms='mysql';
$host='localhost';
$port='3306';
$dbname='php';
$charset='utf-8';
//用户名与密码
$user='root';
$pwd='root';
$dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    //设置错误处理
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);   //0 默认模式
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);  //1  警告处理模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//2
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ATTR_ERRMODE);     //3
    //预处理sql语句
//    $stmt=$pdo->prepare("insert into book(name,author)values(?,?)");
    $stmt=$pdo->prepare("select *from phpbook");
    $stmt->execute();
    //获取错误信息
    $code=$stmt->errorCode();
    $info=$stmt->errorInfo();
    //输出相关信息
    print_r("错误码:".$code."<br>");
    print_r("错误信息:");
    print_r($info);
}catch (PDOException $exception){
    echo $exception->getMessage().'<br>';
}

Paparan hasil berjalan:

微信图片_20180305114907.png

Meneruskan pembelajaran
||
<?php echo "PDO异常处理模式";
  • Cadangan kursus
  • Muat turun perisian kursus