wpdb{}
WordPress database access abstraction class.
This class is used to interact with a database without needing to use raw SQL statements. By default, WordPress uses this class to instantiate the global $wpdb object, providing access to the WordPress database.
It is possible to replace this class with your own by setting the $wpdb global variable in wp-content/db.php file to your class. The wpdb class will still be included, so you can extend it or simply use your own.
Hooks from the class
Usage
$wpdb = new wpdb(); // use class methods
Methods
- public __construct( $dbuser, $dbpassword, $dbname, $dbhost )
- public __get( $name )
- public __isset( $name )
- public __set( $name, $value )
- public __unset( $name )
- private _do_query( $query )
- public _escape( $data )
- public _insert_replace_helper( $table, $data, $format = null, $type = 'INSERT' )
- public _real_escape( $string )
- public _weak_escape( $string )
- public add_placeholder_escape( $query )
- public bail( $message, $error_code = '500' )
- protected check_ascii( $string )
- public check_connection( $allow_bail = true )
- public check_database_version()
- protected check_safe_collation( $query )
- public close()
- public db_connect( $allow_bail = true )
- public db_server_info()
- public db_version()
- public delete( $table, $where, $where_format = null )
- public determine_charset( $charset, $collate )
- public esc_like( $text )
- public escape( $data )
- public escape_by_ref( &$string )
- public flush()
- public get_blog_prefix( $blog_id = null )
- public get_caller()
- public get_charset_collate()
- public get_col( $query = null, $x = 0 )
- public get_col_charset( $table, $column )
- public get_col_info( $info_type = 'name', $col_offset = -1 )
- public get_col_length( $table, $column )
- public get_results( $query = null, $output = OBJECT )
- public get_row( $query = null, $output = OBJECT, $y = 0 )
- protected get_table_charset( $table )
- protected get_table_from_query( $query )
- public get_var( $query = null, $x = 0, $y = 0 )
- public has_cap( $db_cap )
- public hide_errors()
- public init_charset()
- public insert( $table, $data, $format = null )
- protected load_col_info()
- public log_query( $query, $query_time, $query_callstack, $query_start, $query_data )
- public parse_db_host( $host )
- public placeholder_escape()
- public prepare( $query, ...$args )
- public print_error( $str = '' )
- protected process_field_charsets( $data, $table )
- protected process_field_formats( $data, $format )
- protected process_field_lengths( $data, $table )
- protected process_fields( $table, $data, $format )
- public query( $query )
- public remove_placeholder_escape( $query )
- public replace( $table, $data, $format = null )
- public select( $db, $dbh = null )
- public set_blog_id( $blog_id, $network_id = 0 )
- public set_charset( $dbh, $charset = null, $collate = null )
- public set_prefix( $prefix, $set_table_names = true )
- public set_sql_mode( $modes = array() )
- public show_errors( $show = true )
- protected strip_invalid_text( $data )
- public strip_invalid_text_for_column( $table, $column, $value )
- protected strip_invalid_text_from_query( $query )
- public supports_collation()
- public suppress_errors( $suppress = true )
- public tables( $scope = 'all', $prefix = true, $blog_id = 0 )
- public timer_start()
- public timer_stop()
- public update( $table, $data, $where, $format = null, $where_format = null )
Examples
#1 Demo of methods usage
global $wpdb; $done = $wpdb->query( "UPDATE ..." ); // get data $objects = $wpdb->get_results( "SELECT ..." ); $object = $wpdb->get_row( "SELECT ..." ); $values = $wpdb->get_col( "SELECT ..." ); $var = $wpdb->get_var( "SELECT ..." ); $var = $wpdb->get_var( "SELECT ..." ); // CRUD data $done = $wpdb->insert( 'table', [ 'column' => 'foo', 'field' => 'bar' ] ); $done = $wpdb->update( 'table', [ 'column' => $_GET['val'] ], [ 'ID' => 1 ] ); $done = $wpdb->delete( 'table', [ 'ID' => 1 ] ); $done = $wpdb->replace( 'table_name', [ 'ID' => 1, 'column' => $_GET['val'] ] );
Changelog
Since 0.71 | Introduced. |