How to Customize, Modify or Change WordPress Database Connection Error Page
When WordPress, a popular blog publishing platform built in PHP and uses MySQL database, cannot connect or having problem connecting to the database (such as when database is down), or the MySQL server has too many connections exceeding maximum connection allowed (especially when your post or article is been dugg on Digg.com) and rejects or denies new incoming connections, WordPress will display a default “error establishing database connection” error message page. However, the WordPress error page, some is shown below, is not visitor friendly or user friendly, and worse, the default database error page also reveals the SQL server address and name.
Can’t select database
We were able to connect to the database server (which means your username and password is okay) but not able to select the localhost database.
* Are you sure it exists?
* On some systems the name of your database is prefixed with your username, so it would be like username_wordpress. Could that be the problem?If you don’t know how to setup a database you should contact your host. If all else fails you may find help at the WordPress Support Forums.
Error establishing a database connection
This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost. This could mean your host’s database server is down.
Are you sure you have the correct username and password?
Are you sure that you have typed the correct hostname?
Are you sure that the database server is running?
These default Wordpress database error pages are more meant for website administrators or webmasters rather than the public visitors. However, you can change the error page to another different error page by modifying or altering wordings and text in the error page by customizing the wp-db.php file located in wp-include directory. Here’s how you can hack the Wordpress default error message.
In wp-db.php (the file that handles the database connections that WordPress makes), you can see lines like “DB Constructor - connects to the server and selects a database” and “Select a DB (if another one needs to be selected)”. That’s where you can alter the text and word in the error page. Just look carefully after the line, you will see exactly the some text and message as appeared on the database error page. Edit them to your liking.

Beside, from line 312 onwards is the header and footer output for the HTML of database connection error page, contains inside function named “bail”, which specifies things like the title of “WordPress: Error”. The “bail” function is called whenever a database connection error is encountered, and does what it’s name said - bails out the error and displays an error message instead to notify the users. You can change them if you like too.
Please take a backup of wp-db.php file before you customize or alter it. If you break the code, your website visitors and surfers will get the PHP error instead. Beside, be careful that when you upgrade your WordPress. If you overwrite all files when upgrade the WordPress, the wp-db.php will be replaced back with the original unchanged version too, and you have to edit the file again. Else, backup the wp-db.php before upgrading your WordPress and restore it after upgrading is done.
Share and contribute or get technical support and help at My Digital Life Forums.
Related Articles
- Using PHP-MySQL Persistent Connections to Run WordPress Blog
- WordPress MySQL SQL Query Error in WPDB Class
- How to Move WordPress Blog to New Domain or Location
- PHP Allowed Memory Size Exchausted Fatal Error
- WordPress Charset Encoding Problem After Upgrading to Version 2.2
- Incorporate and Integrate Amazon aStore with Wordpress Page
- Paginating or Split WordPress Post or Page with NextPage in WordPress Not Working
- WordPress 2.1.1 Critical Security Alert - Download Upgrade to 2.1.2
- WordPress 2.2 Released for Free Download
- Enable Gzip Compress on Wordpress with WP-Cache 2.x
































