Latest web development tutorials
×

PHP หลักสูตร

PHP หลักสูตร PHP แนะนำโดยย่อ PHP ติดตั้ง PHP ไวยากรณ์ PHP ตัวแปร PHP echo/print PHP ชนิดข้อมูล PHP คงที่ PHP เชือก PHP ผู้ประกอบการ PHP If...Else PHP Switch PHP แถว PHP เรียงลำดับอาร์เรย์ PHP Superglobals PHP While การไหลเวียน PHP For การไหลเวียน PHP ฟังก์ชัน PHP ตัวแปรเมจิก PHP namespaces PHP เชิงวัตถุ

PHP ฟอร์ม

PHP ฟอร์ม PHP รูปแบบการตรวจสอบสิทธิ์ PHP ฟอร์ม - ฟิลด์ที่จำเป็น PHP ฟอร์ม - อีเมลยืนยันและ URL PHP ตัวอย่างสมบูรณ์แบบ PHP $_GET ตัวแปร PHP $_POST ตัวแปร

PHP การสอนที่ทันสมัย

PHP อาร์เรย์หลายมิติ PHP วันที่ PHP บรรจุ PHP ไฟล์ PHP อัปโหลดไฟล์ PHP Cookie PHP Session PHP E-mail PHP ความปลอดภัย E-mail PHP Error PHP Exception PHP กรอง PHP กรองขั้นสูง PHP JSON

PHP 7 คุณสมบัติใหม่

PHP 7 คุณสมบัติใหม่

PHP ฐานข้อมูล

PHP MySQL แนะนำโดยย่อ PHP MySQL สัมพันธ์ PHP MySQL การสร้างฐานข้อมูล PHP MySQL สร้างตารางข้อมูล PHP MySQL แทรกข้อมูล PHP MySQL ใส่ข้อมูลหลาย PHP MySQL งบเตรียม PHP MySQL อ่านข้อมูล 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 แนะนำโดยย่อ AJAX PHP AJAX ฐานข้อมูล AJAX XML AJAX ค้นหาแบบ Real-time AJAX RSS Reader AJAX โหวต

PHP คู่มืออ้างอิง

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 การประมวลผลภาพ PHP RESTful

ข้อผิดพลาด PHP PDO กับการจัดการข้อผิดพลาด

คู่มือการใช้งาน PHP PDO อ้างอิง คู่มือการใช้งาน PHP PDO อ้างอิง

  • PDO :: ERRMODE_SILENT

    นี้เป็นโหมดเริ่มต้น PDO ก็จะตั้งรหัสข้อผิดพลาดให้ใช้ PDO :: errorcode () และ PDO :: errorInfo () วิธีการตรวจสอบคำสั่งและฐานข้อมูลวัตถุ หากมีข้อผิดเป็นเพราะวัตถุของคำสั่งการเรียกร้องจะถูกสร้างขึ้นแล้วคุณสามารถโทรหาวัตถุที่ PDOStatement :: errorcode () หรือ PDOStatement :: errorInfo () วิธีการ ถ้าข้อผิดพลาดที่เกิดจากการโทรบนวัตถุฐานข้อมูลแล้วเรียกวิธีการเหล่านั้นบนวัตถุฐานข้อมูล

  • PDO :: ERRMODE_WARNING

    นอกจากการตั้งค่านอกจากนี้รหัสข้อผิดพลาด, PDO จะออกมาเป็นข้อความ E_WARNING แบบดั้งเดิม หากคุณเพียงแค่ต้องการที่จะเห็นสิ่งที่เป็นปัญหาที่เกิดขึ้นโดยไม่รบกวนการไหลของแอพลิเคชันเพื่อให้การตั้งค่านี้ในช่วงเวลาการแก้จุดบกพร่อง / การทดสอบการเป็นประโยชน์อย่างมาก

  • PDO :: ERRMODE_EXCEPTION

    นอกจากการตั้งค่านอกจากนี้รหัสข้อผิดพลาด, PDO จะโยนชั้นยกเว้น PDOException และการตั้งค่าคุณสมบัติที่จะสะท้อนให้เห็นถึงรหัสข้อผิดพลาดและข้อผิดพลาดข้อความ การตั้งค่านี้ยังเป็นประโยชน์ในการแก้จุดบกพร่องเพราะเป็นจุดที่ไม่ถูกต้องได้อย่างมีประสิทธิภาพจะ enlarge สคริปต์ซึ่งอย่างรวดเร็วสามารถชี้รหัสพื้นที่ปัญหาที่อาจเกิด (จำ: ถ้าข้อยกเว้นทำให้เกิดสคริปต์ที่จะยุติการทำธุรกรรมโดยอัตโนมัติ ม้วน)

    โหมดอีกข้อเป็นประโยชน์อย่างมากเมื่อเทียบกับคำเตือน PHP สไตล์แบบดั้งเดิมที่คุณสามารถสร้างข้อผิดพลาดของตัวเองจัดการได้อย่างชัดเจนมากขึ้นและค่าตอบแทนของการโทรแต่ละฐานข้อมูลรหัสรูปแบบที่ผิดปกติต้องเทียบกับโหมดเงียบและการตรวจสอบอย่างชัดเจน / ทำรังน้อย

สร้างตัวอย่าง PDO และตั้งค่าโหมดข้อผิดพลาด

<?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();
}

?>

หมายเหตุ: ไม่ว่าในปัจจุบันชุด PDO :: ATTR_ERRMODE หากการเชื่อมต่อล้มเหลว PDO :: __ สร้าง () จะเสมอโยนยกเว้น PDOException ยกเว้น uncaught เป็นอันตรายถึงชีวิต

สร้างตัวอย่าง PDO และตั้งค่าโหมดผิดพลาดในการสร้าง

<?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");
?>

ดังกล่าวข้างต้นส่งออกตัวอย่างเช่นจะ:

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

คู่มือการใช้งาน PHP PDO อ้างอิง คู่มือการใช้งาน PHP PDO อ้างอิง