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