• 0

كيف يمكنني رؤية الخطأ عند استعمالي لـ PDO PHP؟

الكود التالي لا يعمل معي ولا يعطيني أي خطأ:

try {
    $db = new PDO("mysql:host=".HOST.";dbname=".DB, USER, PW);
    $st = $db->prepare("SELECT * FROM Users");
}
catch (PDOException $e){
    echo $e->getMessage();
}

كيف يمكنني رؤية الخطأ عند استعمالي لـ PDO PHP؟

تمّ تعديل بواسطة عبد الهادي اطويل
تعديل العنوان ونص الموضوع

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

عليك بتفعيل خاصية إطهار الخطأPDO::ATTR_ERRMODE و توقيف PDO::ATTR_EMULATE_PREPARES

 وكذا ضع كود sql  داخل دالة prepare()  

هكذا

<?php
try {<?php
try {
    $pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'localonly', 'localonly');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);


    $pdo->prepare('INSERT INTO DoesNotExist (x) VALUES (?)');
}
catch(Exception $e) {
    echo 'Exception -> ';
    var_dump($e->getMessage());
}

كمثال عن النتيجة   
Exception -> string(91) "SQLSTATE[42S02]: Base table or view not found: 
1146 Table 'test.doesnotexist' doesn't exist"

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن