$this->connection   = $connection;        $this->query        = $query;        $query = $this->prepareParameterKeyMapping($query);        $this->statement  = $connection->prepare($query);        if (!$this->statement)        {            throw new PrepareStatementFailureException($this->connection->error, $this->connection->errno);        }        $this->connection   = $connection;        $this->query        = $query;        $query = $this->prepareParameterKeyMapping($query);        $this->statement  = $connection->prepare($query);        if (!$this->statement)        {            throw new PrepareStatementFailureException($this->connection->error, $this->connection->errno);        }     * @since   2.0.0     * @throws  PrepareStatementFailureException     */    protected function prepareStatement(string $query): StatementInterface    {        return new MysqliStatement($this->connection, $query);    }    /**     * Unlocks tables in the database.     *        $query->setLimit($limit, $offset);        $sql = $this->replacePrefix((string) $query);        $this->statement = $this->prepareStatement($sql);        $this->sql    = $query;        $this->limit  = (int) max(0, $limit);        $this->offset = (int) max(0, $offset);                )                ->bind(':currentDate2', $currentDate)                ->order($this->db->quoteName('m.lft'));            $items    = [];            $iterator = $this->db->setQuery($query)->getIterator();            foreach ($iterator as $item) {                $items[$item->id] = new MenuItem((array) $item);            }            return $data['result'];        }        if ($locktest->locked === false && $locktest->locklooped === true) {            // We can not store data because another process is in the middle of saving            return \call_user_func_array($callback, $referenceArgs);        }        $coptions = ['modulemode' => 0];        if (isset($woptions['modulemode']) && $woptions['modulemode'] == 1) {        try {            /** @var CallbackController $cache */            $cache = $this->getCacheControllerFactory()->createCacheController('callback', ['defaultgroup' => 'com_menus']);            $this->items = $cache->get($loader, [], md5(\get_class($this)), false);        } catch (CacheExceptionInterface $e) {            try {                $this->items = $loader();            } catch (ExecutionFailureException $databaseException) {                $this->app->enqueueMessage(Text::sprintf('JERROR_LOADING_MENUS', $databaseException->getMessage()), 'warning');     * @since   1.5     */    public function getMenu()    {        if (!$this->itemsLoaded) {            $this->load();            foreach ($this->items as $item) {                if ($item->home) {                    $this->default[trim($item->language)] = $item->id;                }     */    public function getItem($id)    {        $result = null;        if (isset($this->getMenu()[$id])) {            $result = &$this->getMenu()[$id];        }        return $result;    }        // Get the id of the active menu item        $menu = $this->getMenu();        $item = $menu->getActive();        if (!$item) {            $item = $menu->getItem($this->input->getInt('Itemid', null));        }        $id = 0;        if (\is_object($item)) {    public function render(\Throwable $error): string    {        $app = Factory::getApplication();        // Get the current template from the application        $template = $app->getTemplate(true);        // Push the error object into the document        $this->getDocument()->setError($error);        // Add registry file for the template asset            // Reset the document object in the factory, this gives us a clean slate and lets everything render properly            Factory::$document = $renderer->getDocument();            Factory::getApplication()->loadDocument(Factory::$document);            $data = $renderer->render($error);            // If nothing was rendered, just use the message from the Exception            if (empty($data)) {                $data = $error->getMessage();            }     * @since   3.10.0     */    public static function handleException(\Throwable $error)    {        static::logException($error);        static::render($error);    }    /**     * Render the error page based on an exception.     *            );            // Trigger the onError event.            $this->triggerEvent('onError', $event);            ExceptionHandler::handleException($event->getError());        }        // Trigger the onBeforeRespond event.        $this->getDispatcher()->dispatch('onBeforeRespond');// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php';        $this->connection   = $connection;        $this->query        = $query;        $query = $this->prepareParameterKeyMapping($query);        $this->statement  = $connection->prepare($query);        if (!$this->statement)        {            throw new PrepareStatementFailureException($this->connection->error, $this->connection->errno);        }        $this->connection   = $connection;        $this->query        = $query;        $query = $this->prepareParameterKeyMapping($query);        $this->statement  = $connection->prepare($query);        if (!$this->statement)        {            throw new PrepareStatementFailureException($this->connection->error, $this->connection->errno);        }     * @since   2.0.0     * @throws  PrepareStatementFailureException     */    protected function prepareStatement(string $query): StatementInterface    {        return new MysqliStatement($this->connection, $query);    }    /**     * Unlocks tables in the database.     *        $query->setLimit($limit, $offset);        $sql = $this->replacePrefix((string) $query);        $this->statement = $this->prepareStatement($sql);        $this->sql    = $query;        $this->limit  = (int) max(0, $limit);        $this->offset = (int) max(0, $offset);                )                ->bind(':currentDate2', $currentDate)                ->order($this->db->quoteName('m.lft'));            $items    = [];            $iterator = $this->db->setQuery($query)->getIterator();            foreach ($iterator as $item) {                $items[$item->id] = new MenuItem((array) $item);            }        $coptions['nomodules'] = $woptions['nomodules'] ?? 1;        ob_start();        ob_implicit_flush(false);        $result = \call_user_func_array($callback, $referenceArgs);        $output = ob_get_clean();        $data = ['result' => $result];        if ($wrkarounds) {        try {            /** @var CallbackController $cache */            $cache = $this->getCacheControllerFactory()->createCacheController('callback', ['defaultgroup' => 'com_menus']);            $this->items = $cache->get($loader, [], md5(\get_class($this)), false);        } catch (CacheExceptionInterface $e) {            try {                $this->items = $loader();            } catch (ExecutionFailureException $databaseException) {                $this->app->enqueueMessage(Text::sprintf('JERROR_LOADING_MENUS', $databaseException->getMessage()), 'warning');     * @since   1.5     */    public function getMenu()    {        if (!$this->itemsLoaded) {            $this->load();            foreach ($this->items as $item) {                if ($item->home) {                    $this->default[trim($item->language)] = $item->id;                }        $items      = [];        $attributes = (array) $attributes;        $values     = (array) $values;        $count      = \count($attributes);        foreach ($this->getMenu() as $item) {            if (!\is_object($item)) {                continue;            }            $test = true;        // Reset arrays or we get a notice if some values were unset        $attributes = array_values($attributes);        $values     = array_values($values);        return parent::getItems($attributes, $values, $firstonly);    }    /**     * Get menu item by id     *            $uri->setVar('option', 'com_' . $segments[1]);            $uri->setVar('Itemid', null);            $route = implode('/', \array_slice($segments, 2));        } else {            // Get menu items.            $items    = $this->menu->getItems(['parent_id', 'access'], [1, null]);            $lang_tag = $this->app->getLanguage()->getTag();            $found    = null;            foreach ($segments as $segment) {                $matched = false;        if (!\array_key_exists('parse' . $stage, $this->rules)) {            throw new \InvalidArgumentException(sprintf('The %s stage is not registered. (%s)', $stage, __METHOD__));        }        foreach ($this->rules['parse' . $stage] as $rule) {            $rule($this, $uri);        }    }    /**     * Process the build uri query data based on custom defined rules    {        // Do the preprocess stage of the URL parse process        $this->processParseRules($uri, self::PROCESS_BEFORE);        // Do the main stage of the URL parse process        $this->processParseRules($uri);        // Do the postprocess stage of the URL parse process        $this->processParseRules($uri, self::PROCESS_AFTER);        // Check if all parts of the URL have been parsed.        // Get the full request URI.        $uri = clone Uri::getInstance();        // It is not possible to inject the SiteRouter as it requires a SiteApplication        // and we would end in an infinite loop        $result = $this->getContainer()->get(SiteRouter::class)->parse($uri, true);        $active = $this->getMenu()->getActive();        if (            $active !== null        // Mark afterInitialise in the profiler.        JDEBUG ? $this->profiler->mark('afterInitialise') : null;        // Route the application        $this->route();        // Mark afterRoute in the profiler.        JDEBUG ? $this->profiler->mark('afterRoute') : null;        if (!$this->isHandlingMultiFactorAuthentication()) {            $this->sanityCheckSystemVariables();            $this->setupLogging();            $this->createExtensionNamespaceMap();            // Perform application routines.            $this->doExecute();            // If we have an application document object, render it.            if ($this->document instanceof \Joomla\CMS\Document\Document) {                // Render the application output.                $this->render();// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php';| 
                                            [2/2]
                                        mysqli_sql_exception                    
                    
                 | 
|---|
| 
mysqli_sql_exception:
Unknown column 'm.publish_up' in 'WHERE'
  at /www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:137
  at mysqli->prepare('SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `herren_menu` AS `m`LEFT JOIN `herren_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= ?)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= ?)ORDER BY `m`.`lft`')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:137)
  at Joomla\Database\Mysqli\MysqliStatement->__construct(object(mysqli), 'SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `herren_menu` AS `m`LEFT JOIN `herren_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= ?)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= ?)ORDER BY `m`.`lft`')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:1089)
  at Joomla\Database\Mysqli\MysqliDriver->prepareStatement('SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `herren_menu` AS `m`LEFT JOIN `herren_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2)ORDER BY `m`.`lft`')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/DatabaseDriver.php:1900)
  at Joomla\Database\DatabaseDriver->setQuery(object(MysqliQuery))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/SiteMenu.php:166)
  at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Cache/Controller/CallbackController.php:93)
  at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false)
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/SiteMenu.php:179)
  at Joomla\CMS\Menu\SiteMenu->load()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/AbstractMenu.php:333)
  at Joomla\CMS\Menu\AbstractMenu->getMenu()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/AbstractMenu.php:164)
  at Joomla\CMS\Menu\AbstractMenu->getItem(null)
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Application/SiteApplication.php:422)
  at Joomla\CMS\Application\SiteApplication->getTemplate(true)
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Error/Renderer/HtmlRenderer.php:50)
  at Joomla\CMS\Error\Renderer\HtmlRenderer->render(object(mysqli_sql_exception))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Exception/ExceptionHandler.php:126)
  at Joomla\CMS\Exception\ExceptionHandler::render(object(mysqli_sql_exception))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Exception/ExceptionHandler.php:72)
  at Joomla\CMS\Exception\ExceptionHandler::handleException(object(mysqli_sql_exception))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Application/CMSApplication.php:322)
  at Joomla\CMS\Application\CMSApplication->execute()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/includes/app.php:61)
  at require_once('/www/htdocs/w00ccdc7/herren-geldboerse.de/includes/app.php')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/index.php:32)                 | 
| 
                                            [1/2]
                                        mysqli_sql_exception                    
                    
                 | 
|---|
| 
mysqli_sql_exception:
Unknown column 'm.publish_up' in 'WHERE'
  at /www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:137
  at mysqli->prepare('SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `herren_menu` AS `m`LEFT JOIN `herren_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= ?)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= ?)ORDER BY `m`.`lft`')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/Mysqli/MysqliStatement.php:137)
  at Joomla\Database\Mysqli\MysqliStatement->__construct(object(mysqli), 'SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `herren_menu` AS `m`LEFT JOIN `herren_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= ?)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= ?)ORDER BY `m`.`lft`')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:1089)
  at Joomla\Database\Mysqli\MysqliDriver->prepareStatement('SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component`FROM `herren_menu` AS `m`LEFT JOIN `herren_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id`WHERE ((`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2)ORDER BY `m`.`lft`')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/vendor/joomla/database/src/DatabaseDriver.php:1900)
  at Joomla\Database\DatabaseDriver->setQuery(object(MysqliQuery))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/SiteMenu.php:166)
  at Joomla\CMS\Menu\SiteMenu->Joomla\CMS\Menu\{closure}()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Cache/Controller/CallbackController.php:120)
  at Joomla\CMS\Cache\Controller\CallbackController->get(object(Closure), array(), 'd17e8e13b99b4d9bf23a7d0b83a466c3', false)
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/SiteMenu.php:179)
  at Joomla\CMS\Menu\SiteMenu->load()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/AbstractMenu.php:333)
  at Joomla\CMS\Menu\AbstractMenu->getMenu()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/AbstractMenu.php:272)
  at Joomla\CMS\Menu\AbstractMenu->getItems(array('parent_id'), array(1), false)
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Menu/SiteMenu.php:257)
  at Joomla\CMS\Menu\SiteMenu->getItems(array('parent_id'), array(1))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Router/SiteRouter.php:216)
  at Joomla\CMS\Router\SiteRouter->parseSefRoute(object(SiteRouter), object(Uri))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Router/Router.php:384)
  at Joomla\CMS\Router\Router->processParseRules(object(Uri))
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Router/Router.php:147)
  at Joomla\CMS\Router\Router->parse(object(Uri), true)
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Application/SiteApplication.php:746)
  at Joomla\CMS\Application\SiteApplication->route()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Application/SiteApplication.php:232)
  at Joomla\CMS\Application\SiteApplication->doExecute()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/libraries/src/Application/CMSApplication.php:293)
  at Joomla\CMS\Application\CMSApplication->execute()
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/includes/app.php:61)
  at require_once('/www/htdocs/w00ccdc7/herren-geldboerse.de/includes/app.php')
     (/www/htdocs/w00ccdc7/herren-geldboerse.de/index.php:32)                 |