you probably need to create your own class like this
- remove
try/except from __construct - then connect to you db as follows:
$ conn = null;
$ limit = 10;
$ counter = 0;
while (true) {
try {
$ conn = DBConn ();
break;
}
catch (Exception $ e) {
$ conn = null;
$ counter ++;
if ($ counter == $ limit)
throw $ e;
}
} EDIT 1 :
but if you say that your server is leaving ... then maybe something like this
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); }
source share