public function fetchResult(SelectInterface $select) { $result = null; $stmt = $select->getStatement(); try { $statement = $this->db->prepare($stmt); $statement->execute($select->getBindValues()); $result = $statement->fetch(); } catch (PDOException $e) { $this->logger->error($select->__toString()); $this->logger->error($e->getMessage()); return null; } return $result ?: null; }
/** * execute query * * @param \Aura\SqlQuery\AbstractQuery|\Aura\SqlQuery\Common\SelectInterface|\Aura\SqlQuery\Common\ValuesInterface $queryObject * @return array * @throws \Exception */ public function query($queryObject) { $query = $queryObject->__toString(); $sth = self::$_connection->prepare($query); if (!$sth) { $err = self::$_connection->errorInfo(); throw new \Exception('DB Error: ' . $err[0] . ' - ' . $err[2]); } $values = $queryObject->getBindValues(); foreach ($values as $key => $val) { $sth->bindParam(':' . $key, $val); unset($val); } $res = $sth->execute(); if (!$res) { $err = $sth->errorInfo(); throw new \Exception('DB Error: ' . $err[0] . ' - ' . $err[2]); } return $sth; }