PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]); } return $pdo; } function v2_db_one(string $sql, array $params = []): ?array { $stmt = v2_db()->prepare($sql); $stmt->execute($params); $row = $stmt->fetch(); return $row === false ? null : $row; } function v2_db_all(string $sql, array $params = []): array { $stmt = v2_db()->prepare($sql); $stmt->execute($params); return $stmt->fetchAll(); } function v2_db_exec(string $sql, array $params = []): int { $stmt = v2_db()->prepare($sql); $stmt->execute($params); return $stmt->rowCount(); } function v2_db_insert_id(): string { return v2_db()->lastInsertId(); }