おそらく、このような独自のクラスを作成する必要があります
-
try/exceptを削除します__constructから - 次に、次のようにデータベースに接続します:
$conn = null;
$limit = 10;
$counter = 0;
while (true) {
try {
$conn = DBConn();
break;
}
catch (Exception $e) {
$conn = null;
$counter++;
if ($counter == $limit)
throw $e;
}
} 編集1 :
しかし、あなたがあなたのサーバーがなくなると言うなら....それならこのようなsmthかもしれません
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);
}