If you’ve just upgraded your WordPress installation to a new version, you may have been greeted with a rather scary looking error message:

Fatal error: Call to undefined method dbrc_wpdb::delete() in….wp-includes/option.php on line 370

You may be feverishly hunting the internet for a solution right about now. Hopefully that is what brought you here.

Fortunately, the fix should be fairly simple. If you are running a variation of the DB Cache plugin, this may be the cause of the problem. To fix it you’ll need to open your FTP client, browse to wp-content and copy db.php to your hard drive. Next, browse to your plugins folder and save your DB Cache plugin to your hard drive too.

Finally, delete the db.php file and the DB Cache folder from your site. Don’t worry, should anything go wrong you’ve got them backed up.

Reload the page with the error message on it and it should say “upgrade complete” and you’re good to go. (hopefully!)

Once again, I take no responsibility for your site should it go horribly wrong. All I can say is that it worked for me.

I found the hint here

Update

One helpful commenter suggested that you may get by with just deleting the db.php file. Try that first and if that doesn’t work, bin the DB Cache plugin too.

Update 2

Ivan, the creator of DB-Cache-Reloaded-Fix stopped by last night to inform me that his plugin had now been updated to be compatible with 3.4.  So, it should be safe to add it back in now if you deleted it.

Update 3

As it turns out, variations of this trick work with other cache plugins that may cause you similar error messages.  I recently installed an Object Cache plugin to use with XCache.  Unfortunately, the “Object Cache.php” file was causing a similar issue to DB Cache Reloaded Fix when I updated to WordPress 3.4.1.  The solution was to remove the Object Cache.php file until an update appears.

Update 4

This post was written for an issue that arose for me in WordPress 3.4. As we’ve moved on to newer versions and it’s still getting traffic, there’s clearly a need to keep this current. I’ve therefore removed 3.4 from the header.