شبكة تعلم مع ناو

ما الاستثناء الخاص بأخطاء قاعدة البيانات في PHP؟ (PDOException)

عند استخدام PDO للتعامل مع قاعدة البيانات، تُطلق أخطاؤها كاستثناء من نوع PDOException: فشل الاتصال، أو خطأ في الاستعلام، أو قيد مخالف.

try {
    $pdo = new PDO('mysql:host=localhost;dbname=shop', 'user', 'pass', [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    ]);
    $pdo->query('SELECT * FROM missing_table');
} catch (PDOException $e) {
    error_log($e->getMessage());
    echo 'Something went wrong, please try later.';
}

ملاحظتان

  • منذ PHP 8، وضع الاستثناءات هو الافتراضي في PDO.
  • لا تعرض رسالة الخطأ الكاملة للزائر، فقد تكشف اسم قاعدة البيانات أو تفاصيل أخرى. سجّلها في السجلات فقط.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.