The WordPress $wpdb class explained

The WordPress MySQL database class is quite powerful. This database class can be used for other projects with some very simple modifications, and is actually based on/borrowed from another project called ezSQL by Justin Vincent.

The WordPress database class code is located in <WordPress root>/wp-includes/wp-db.php. The $wpdb object is created at the very bottom using the following lines of code (comments removed):

Below, I listed a few of the main functions in the $wpdb object. These functions will help make your job easier when creating plugins and extending the WordPress core, or even working on a completely different project. I did not include functions used for debugging/error reporting, as that could easily be its own lesson.

set_prefix($prefix) — used to set table prefix for WordPress tables, can be used to override prefix at any time.

4 thoughts on “The WordPress $wpdb class explained”

Excellent explanation. I’ve been scouring the web for the last week looking for this information. I’m looking for a way to access a table already in the wordpress database (families) using wpdb. I want to list the families and then click on the family name and go to a details page with that family’s information. Can you suggest which options variables based on my project I’d replace in the code? Thanks so much!

Hi Great work and good explanation. I am new to wordpress and php. i am in the process of developing a standard website using wordpress(not a blog, obviously). My aim is to display mysql table data on a new page. i have gone through the docs on usage of wpdb class. but i cannot figure out the file to write the query using wpdb. i mean in which php file should i write the wpdb functions and how to show it on a wordpress page? It would be a great help if you could explain me in detail on how to use wpdb functions to retrieve whole data from a mysql table and display it on a wordpress page. Thanks in advance