PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); } catch (Throwable $e) { json_out(500, ['ok' => false, 'error' => 'DB connection failed']); } function current_user(PDO $pdo): ?array { if (!isset($_SESSION['user_id'])) return null; $stmt = $pdo->prepare('SELECT id, username, email, created_at FROM users WHERE id = ? LIMIT 1'); $stmt->execute([(int)$_SESSION['user_id']]); $u = $stmt->fetch(); return $u ?: null; }