示例#1
0
 /**
  * Prepares and executes an SQL query.
  *
  * @param string $query The SQL query to prepare and execute.
  * @param array $params The parameters, if any.
  * @return Statement The prepared and executed statement.
  */
 public function execute($query, array $params = array())
 {
     $this->connect();
     if ($this->_config->getSqlLogger()) {
         $this->_config->getSqlLogger()->logSql($query, $params);
     }
     if (!empty($params)) {
         $stmt = $this->_conn->prepare($query);
         $stmt->execute($params);
     } else {
         $stmt = $this->_conn->query($query);
     }
     return $stmt;
 }
示例#2
0
 /**
  * Executes an SQL SELECT query with the given parameters.
  * 
  * @param string $query     sql query
  * @param array $params     query parameters
  *
  * @return PDOStatement
  */
 public function execute($query, array $params = array())
 {
     $this->connect();
     try {
         echo "DBAL:" . $query . PHP_EOL;
         if (!empty($params)) {
             $stmt = $this->prepare($query);
             $stmt->execute($params);
             return $stmt;
         } else {
             $stmt = $this->_conn->query($query);
             $this->_queryCount++;
             return $stmt;
         }
     } catch (PDOException $e) {
         $this->rethrowException($e, $this);
     }
 }