sql >> Databasteknik >  >> RDS >> Mysql

Återanslutningen på MySQL Server har försvunnit

du kommer förmodligen att behöva göra en egen klass som den här

  1. ta bort try/except från __construct
  2. anslut sedan till din db så här:
$conn = null;
$limit = 10;
$counter = 0;
while (true) {
  try {
    $conn = DBConn();
    break;
  }
  catch (Exception $e) {
    $conn = null;
    $counter++;
    if ($counter == $limit)
      throw $e;
  }

}

REDIGERA 1 :

men om du säger att din server försvinner... så kan det vara så här

protected function _connect( $persistent = false ) {
$conn = null;
$limit = 10;
$counter = 0;
while (true) {
  try {
        $this->conn = new PDO( "mysql:host=localhost;dbname=test", 'test', "hoollaahaoo" );
        $this->conn->exec( "SET CHARACTER SET utf8" );
        $this->conn->setAttribute( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC ); 
        if ( $persistent )
            $this->conn->setAttribute( PDO::ATTR_PERSISTENT, true );
}
  catch (Exception $e) {
    $conn = null;
    $counter++;
    if ($counter == $limit)
      throw $e;
  }
}

public function __construct( $persistent = false )
{
    $this->_connect($persistent);
}



  1. Mysql radera uttalande med limit

  2. MySQL:Felkod:1242 Subquery returnerar mer än 1 rad

  3. SET NULL:Ange en sträng som ska returneras när ett nollvärde förekommer i SQLcl / SQL*Plus

  4. Mac OS Sierra virtualenv (python 2.7) pip installation mysqlclient fel