PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false ] ); // Optional: Set timezone $pdo->exec("SET time_zone = '+08:00'"); // Uncomment for debugging // error_log("Database connected successfully"); } catch (PDOException $e) { // Log the error and show user-friendly message error_log("Database connection failed: " . $e->getMessage()); // For development - show detailed error if (isset($_SESSION['role']) && $_SESSION['role'] === 'admin') { die("Database connection failed: " . $e->getMessage()); } else { die("System temporarily unavailable. Please try again later."); } } ?>