/** * Executes a query. * @param mixed ...$args * @return Result|NULL * @throws QueryException */ public function query() { $this->connected || $this->connect(); $args = func_get_args(); $sql = $this->sqlPreprocessor->process($args); $result = $this->driver->query($sql); $this->fireEvent('onQuery', [$this, $sql, $result]); return $result; }