Simple DB Failover in WordPress

If you have a back-up replicated DB instance running and don’t want to use something like HyperDB, you can override wp-config.php with this snippet:

define('DB_NAME', 'wordpress');
define('DB_USER', 'user');
define('DB_PASSWORD', 'password');

$db_hosts = array("hostdb1", "hostdb-backup");
foreach ($db_hosts as $host)
{
    $l = @mysql_connect($host, DB_USER, DB_PASSWORD, DB_NAME);
    if ($l !== false)
    {
        define('DB_HOST', $host);
        break;
    }
}