Unlike the WordPress maintenance page, database error is usually unexpected. The db-error.php page template will provide a user friendly message to your site visitors in the event of a database error. Furthermore, when the page is displayed, an email notification is sent with the URL of the page where the error occurred to the address of your choice.

<?php
header( 'HTTP/1.1 503 Service Temporarily Unavailable' );
header( 'Status: 503 Service Temporarily Unavailable' );
header( 'Retry-After: 600' ); // 10 minutes
$mailto = "mail@sumtips.com";
$mailfrom = "From: mail@sumtips.com";
$message = "There was an error while accessing the database. ".
"It broke when someone tried to open this page:
http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']."";
$subject = "Database error at ".$_SERVER['SERVER_NAME'];
mail($mailto,$subject,$message,$mailfrom);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Database Connection Error | SumTips</title>
<meta charset="utf-8" />
<style type='text/css'>
body {
background: #fff;
font: 16px Georgia, serif;
line-height: 1.3;
margin: 0;
padding: 0;
}
#content {
background: #fff url(/wp-content/dberror.png) no-repeat left top;
height: 225px;
margin: 80px auto 0;
padding: 75px 50px 0 300px;
width: 375px;
}
h1 {
font-size: 34px;
font-weight: normal;
margin-top: 0;
}
p {
margin: 0 0 10px 5px;
}
</style>
</head>
<body>
<div id="content">
<h1>Database missing!</h1>
<p>Looks like the database got lost somewhere....</p>
<p>Don't worry though! We'll recover it!<p>
<p>In the mean time, you can read the last 10 posts <a href="http://feeds.feedburner.com/Sumtips">here on FeedBurner</a>.<p>
</div><!-- #content -->
</body>
</html>
<?php die(); ?>
How to Use?
Just create a new file named db-error.php inside wp-content directory and paste in the above code in it. Remember to replace email address with your own.
The db-error.php file is kept as an independent file in the WordPress installation, so it’s not affected by core upgrades. [via Aliso]

