Kdyby\Doctrine\Connection::executeQuery PHP Method

executeQuery() public method

public executeQuery ( string $query, array $params = [], array $types = [], Doctrine\DBAL\Cache\QueryCacheProfile $qcp = NULL ) : Doctrine\DBAL\Driver\Statement
$query string
$params array
$types array
$qcp Doctrine\DBAL\Cache\QueryCacheProfile
return Doctrine\DBAL\Driver\Statement
    public function executeQuery($query, array $params = [], $types = [], Doctrine\DBAL\Cache\QueryCacheProfile $qcp = NULL)
    {
        try {
            return parent::executeQuery($query, $params, $types, $qcp);
        } catch (\Exception $e) {
            throw $this->resolveException($e, $query, $params);
        }
    }

Usage Example

 /**
  * @param $query
  * @param array $params
  * @param array $types
  * @param QueryCacheProfile $qcp
  * @return null
  * @throws \Exception
  */
 public function executeQuery($query, array $params = array(), $types = array(), QueryCacheProfile $qcp = null)
 {
     $stmt = null;
     $attempt = 0;
     $retry = true;
     while ($retry) {
         $retry = false;
         try {
             $stmt = parent::executeQuery($query, $params, $types, $qcp);
         } catch (\Exception $e) {
             if ($this->validateReconnectAttempt($e, $attempt)) {
                 $this->close();
                 $attempt++;
                 $retry = true;
             } else {
                 throw $e;
             }
         }
     }
     return $stmt;
 }