Code Duplication    Length = 28-28 lines in 2 locations

src/voku/db/DB.php 1 location

@@ 737-764 (lines=28) @@
734
   *
735
   * @return bool
736
   */
737
  protected function queryErrorHandling($errorMsg, $sql, $sqlParams = false)
738
  {
739
    if ($errorMsg === 'DB server has gone away' || $errorMsg === 'MySQL server has gone away') {
740
      static $reconnectCounter;
741
742
      // exit if we have more then 3 "DB server has gone away"-errors
743
      if ($reconnectCounter > 3) {
744
        $this->_debug->mailToAdmin('SQL-Fatal-Error', $errorMsg . ":\n<br />" . $sql, 5);
745
        throw new \Exception($errorMsg);
746
      } else {
747
        $this->_debug->mailToAdmin('SQL-Error', $errorMsg . ":\n<br />" . $sql);
748
749
        // reconnect
750
        $reconnectCounter++;
751
        $this->reconnect(true);
752
753
        // re-run the current query
754
        return $this->query($sql, $sqlParams);
755
      }
756
    } else {
757
      $this->_debug->mailToAdmin('SQL-Warning', $errorMsg . ":\n<br />" . $sql);
758
759
      // this query returned an error, we must display it (only for dev) !!!
760
      $this->_debug->displayError($errorMsg . ' | ' . $sql);
761
    }
762
763
    return false;
764
  }
765
766
  /**
767
   * Reconnect to the MySQL-Server.

src/voku/db/Prepare.php 1 location

@@ 400-427 (lines=28) @@
397
   *
398
   * @return bool
399
   */
400
  private function queryErrorHandling($errorMsg, $sql)
401
  {
402
    if ($errorMsg === 'DB server has gone away' || $errorMsg === 'MySQL server has gone away') {
403
      static $reconnectCounter;
404
405
      // exit if we have more then 3 "DB server has gone away"-errors
406
      if ($reconnectCounter > 3) {
407
        $this->_debug->mailToAdmin('SQL-Fatal-Error', $errorMsg . ":\n<br />" . $sql, 5);
408
        throw new \Exception($errorMsg);
409
      } else {
410
        $this->_debug->mailToAdmin('SQL-Error', $errorMsg . ":\n<br />" . $sql);
411
412
        // reconnect
413
        $reconnectCounter++;
414
        $this->_db->reconnect(true);
415
416
        // re-run the current query
417
        return $this->execute();
418
      }
419
    } else {
420
      $this->_debug->mailToAdmin('SQL-Warning', $errorMsg . ":\n<br />" . $sql);
421
422
      // this query returned an error, we must display it (only for dev) !!!
423
      $this->_debug->displayError($errorMsg . ' | ' . $sql);
424
    }
425
426
    return false;
427
  }
428
429
}
430