Latest web development tutorials
×

PHP kuliah

PHP kuliah PHP pengantar singkat PHP memasang PHP tatabahasa PHP variabel PHP echo/print PHP Jenis Data PHP konstan PHP tali PHP operator PHP If...Else PHP Switch PHP susunan PHP Sorting array PHP superglobals PHP While sirkulasi PHP For sirkulasi PHP fungsi PHP Variabel sihir PHP Ruang nama PHP Berorientasi Objek

PHP bentuk

PHP bentuk PHP bentuk Authentication PHP bentuk - bidang yang harus diisi PHP bentuk - email verifikasi dan URL PHP contoh bentuk lengkap PHP $_GET variabel PHP $_POST variabel

PHP canggih Tutorial

PHP Array multidimensi PHP tanggal PHP berisi PHP berkas PHP Upload File PHP Cookie PHP Session PHP E-mail PHP keamanan E-mail PHP Error PHP Exception PHP filter PHP filter lanjutan PHP JSON

PHP 7 Fitur baru

PHP 7 Fitur baru

PHP database

PHP MySQL pengantar singkat PHP MySQL koneksi PHP MySQL Membuat database PHP MySQL Buat tabel data PHP MySQL memasukkan data PHP MySQL Menyisipkan beberapa data yang PHP MySQL Laporan disiapkan PHP MySQL membaca data PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX pengantar singkat AJAX PHP AJAX database AJAX XML AJAX pencarian real-time AJAX RSS Reader AJAX suara

PHP Reference manual

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP image Processing PHP RESTful

error PHP PDO dengan penanganan kesalahan

Pedoman PHP PDO Referensi Pedoman PHP PDO Referensi

  • PDO :: ERRMODE_SILENT

    Ini adalah mode default. PDO hanya akan mengatur kode kesalahan, gunakan PDO :: errorCode () dan metode PDO :: ErrorInfo () untuk memeriksa laporan dan objek database. Jika kesalahan ini disebabkan oleh obyek pernyataan panggilan dihasilkan, maka Anda dapat menghubungi bahwa objek PDOStatement :: errorCode () atau metode PDOStatement :: ErrorInfo (). Jika kesalahan berasal dari panggilan pada objek database, kemudian memanggil metode-metode pada objek database.

  • PDO :: ERRMODE_WARNING

    Selain menetapkan penambahan kode kesalahan, PDO akan memancarkan pesan E_WARNING tradisional. Jika Anda hanya ingin melihat masalah apa yang terjadi tanpa mengganggu aliran aplikasi, sehingga pengaturan ini dalam periode debugging / pengujian sangat berguna.

  • PDO :: ERRMODE_EXCEPTION

    Selain menetapkan penambahan kode kesalahan, PDO akan melemparkan kelas PDOException pengecualian dan mengatur properti untuk mencerminkan kode kesalahan dan pesan kesalahan. Pengaturan ini juga berguna selama debugging, karena titik yang salah secara efektif akan memperbesar script, yang bisa sangat cepat menunjukkan kode area masalah potensial (ingat: jika pengecualian menyebabkan script untuk mengakhiri transaksi secara otomatis kembali roll).

    Modus pengecualian lain sangat berguna, dibandingkan dengan PHP-gaya peringatan tradisional, Anda dapat membangun kesalahan Anda sendiri menangani lebih jelas, dan nilai kembali dari setiap panggilan database, kode pola normal diperlukan dibandingkan dengan mode diam dan secara eksplisit memeriksa / bersarang kurang.

Membuat contoh PDO dan mengatur mode error

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

?>

Catatan: Terlepas dari apakah set saat PDO :: ATTR_ERRMODE, jika koneksi gagal, PDO :: __ construct () akan selalu melempar pengecualian PDOException. eksepsi tidak tertangkap fatal.

Membuat contoh PDO dan mengatur mode kesalahan dalam constructor

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';

/*
    使用 try/catch 围绕构造函数仍然有效,即使设置了 ERRMODE 为 WARNING,
    因为如果连接失败,PDO::__construct 将总是抛出一个  PDOException 异常。
*/
try {
    $dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
    exit;
}

// 这里将导致 PDO 抛出一个 E_WARNING 级别的错误,而不是 一个异常 (当数据表不存在时)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

Di atas contoh output akan:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 18
add a note add a note

Pedoman PHP PDO Referensi Pedoman PHP PDO Referensi