Description 
 If this function is unable to reconnect, it will forcibly die, or if called after the ‘template_redirect’ hook has been fired, return false instead.
 If $allow_bail is false, the lack of database connection will need to be handled manually.
    Parameters 
  - $allow_bail
-   (bool) (Optional)  Allows the function to bail.   Default value: true 
Return 
 (bool|void) True if the connection is up.
    Source 
  File: wp-includes/wp-db.php 
 public function check_connection( $allow_bail = true ) {
		if ( $this->use_mysqli ) {
			if ( ! empty( $this->dbh ) && mysqli_ping( $this->dbh ) ) {
				return true;
			}
		} else {
			if ( ! empty( $this->dbh ) && mysql_ping( $this->dbh ) ) {
				return true;
			}
		}
		$error_reporting = false;
		// Disable warnings, as we don't want to see a multitude of "unable to connect" messages.
		if ( WP_DEBUG ) {
			$error_reporting = error_reporting();
			error_reporting( $error_reporting & ~E_WARNING );
		}
		for ( $tries = 1; $tries <= $this->reconnect_retries; $tries++ ) {
			// On the last try, re-enable warnings. We want to see a single instance
			// of the "unable to connect" message on the bail() screen, if it appears.
			if ( $this->reconnect_retries === $tries && WP_DEBUG ) {
				error_reporting( $error_reporting );
			}
			if ( $this->db_connect( false ) ) {
				if ( $error_reporting ) {
					error_reporting( $error_reporting );
				}
				return true;
			}
			sleep( 1 );
		}
		// If template_redirect has already happened, it's too late for wp_die()/dead_db().
		// Let's just return and hope for the best.
		if ( did_action( 'template_redirect' ) ) {
			return false;
		}
		if ( ! $allow_bail ) {
			return false;
		}
		wp_load_translations_early();
		$message = '<h1>' . __( 'Error reconnecting to the database' ) . "</h1>\n";
		$message .= '<p>' . sprintf(
			/* translators: %s: Database host. */
			__( 'This means that we lost contact with the database server at %s. This could mean your host’s database server is down.' ),
			'<code>' . htmlspecialchars( $this->dbhost, ENT_QUOTES ) . '</code>'
		) . "</p>\n";
		$message .= "<ul>\n";
		$message .= '<li>' . __( 'Are you sure the database server is running?' ) . "</li>\n";
		$message .= '<li>' . __( 'Are you sure the database server is not under particularly heavy load?' ) . "</li>\n";
		$message .= "</ul>\n";
		$message .= '<p>' . sprintf(
			/* translators: %s: Support forums URL. */
			__( 'If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the <a href="%s">WordPress Support Forums</a>.' ),
			__( 'https://wordpress.org/support/forums/' )
		) . "</p>\n";
		// We weren't able to reconnect, so we better bail.
		$this->bail( $message, 'db_connect_fail' );
		// Call dead_db() if bail didn't die, because this database is no more.
		// It has ceased to be (at least temporarily).
		dead_db();
	}       Changelog 
     | Version | Description | 
    | 3.9.0 | Introduced. |