public function execute(MSQL $sql, $parameters = NULL) { if ($this->connection->isTransactionActive()) { try { $sql->setParameters($parameters); $this->affectedRows = $sql->execute(); } catch (\Exception $e) { $code = $sql->stmt->errorCode(); $info = $sql->stmt->errorInfo(); throw EDBException::execute($info[2], $code); } } else { throw EDBException::transaction('Não é possível executar comandos fora de uma transação ativa.'); } //return $ok; }