_type = $type; } /** * Execute a prepared statement. * * @param ?array $params * @return bool */ public function execute($params = null): bool { $start_time = microtime(true); $db_class = DB::getInstance($this->_type); try { $result = parent::execute($params); $db_class->clearError(); } catch (\PDOException $e) { $db_class->setError(-1, $e->getMessage()); throw new DBError($e->getMessage(), 0, $e); } finally { $elapsed_time = microtime(true) - $start_time; $db_class->addElapsedTime($elapsed_time); if (Debug::isEnabledForCurrentUser()) { Debug::addQuery($db_class->getQueryLog($this->queryString, $elapsed_time)); } } return $result; } }