آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش Error Mode Attributes در PHP

دوره های مرتبط با این مقاله

آموزش ویژگی حالت خطا Error Mode Attributes

PDO::ERRMODE در PHP

این ویژگی حالت گزارش خطا را کنترل می کند و سه مقدار می تواند داشته باشد.

                        PDO::ERRMODE_SILENT
                        PDO::ERRMODE_WARNING
                        PDO:ERRMODE_EXCEPTION
                

PDO::ERRMODE_SILENT در PHP

هنگامی که خطایی رخ می دهد، کد خطا را می توان با PDO::errorCode() یا PDO::errorInfo() بدست آورد. این مقدار پیش فرض برای PDO::ERRMODE است.

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);‎
                    ‎‎  ‎$sql = "SELECT * FROM booksa";‎   
                    ‎‎  ‎$q = $conn->query($sql) or die("ERROR: " . implode(":", $conn-‎‎>errorInfo()));‎
                    ‎‎  ‎$r = $q->fetch(PDO::FETCH_ASSOC);‎
                    ‎‎‎   print_r($r);‎
                    ‎‎  ‎//result:‎
                    ‎‎  ‎//ERROR: 42S02:1146:Table 'test.booksa' doesn't exist‎
                    ‎‎  ‎?>‎ 
                

PDO::ERRMODE_WARNING در PHP

هیچ کاری انجام نمی شود ولی خطایی با درجه E_Warning صادر می شود.

                      ‎// query‎
                    ‎‎ ‎$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);‎
                    ‎‎ ‎$sql = "SELECT * FROM booksa";‎
                    ‎‎ ‎$q = $conn->query($sql) or die("ERROR: " . implode(":", $conn-‎‎>errorInfo()));‎
                    ‎  ‎$r = $q->fetch(PDO::FETCH_ASSOC);‎
                    ‎‎ print_r($r);‎
                    ‎‎‎    ‎//result:‎
                    ‎‎ ‎//Warning: PDO::query() [function.PDO-query]: SQLSTATE[42S02]: Base ‎table or view ‎not found: 1146 Table 'test.booksa' doesn't exist in
                    ‎‎ ‎//C:\AppServ5\www\test\pdo\test.php on line 15‎   
                    ‎  ‎//ERROR: 42S02:1146:Table 'test.booksa' doesn't exist‎
                

PDO::ERRMODE_EXCEPTION در PHP

کد های خطا را قرار می دهد (مانند PDO::ERRMODE_SILENT) و یک exception از کلاس PDOException صادر می شود.

                     ‎// query‎
                    ‎‎ ‎$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);‎
                    ‎‎ ‎$sql = "SELECT * FROM booksa";‎
                    ‎‎ ‎$q = $conn->query($sql) or die("ERROR: " . implode(":", $conn-‎‎>errorInfo()));‎
                    ‎‎‎    ‎$r = $q->fetch(PDO::FETCH_ASSOC);‎
                    ‎‎print_r($r);‎
                    ‎ ‎‎‎  ‎//result:‎
                    ‎ ‎‎   ‎//Fatal error: Uncaught exception 'PDOException' with message ‎‎'SQLSTATE[42S02]: ‎Base table or view not found: 1146 Table ‎‎'test.booksa' doesn't exist' in‎
                    ‎‎ ‎//C:\AppServ5\www\test\pdo\test.php:15 Stack trace: ‎‎#0 ‎C:\AppServ5\www\test\pdo\test.php(15): PDO->query('SELECT * FROM b...') ‎‎#1 {main} ‎thrown in‎
                    ‎‎ ‎//C:\AppServ5\www\test\pdo\test.php on line 15‎
               
  • 557
  •    958
  • تاریخ ارسال :   1394/07/27

دانلود PDF دانلود سورس کد دانشجویان گرامی اگر این مطلب برای شما مفید بود لطفا ما را در GooglePlus محبوب کنید
رمز عبور: tahlildadeh.com یا www.tahlildadeh.com
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .