wpdb::insert()
Inserts a row into the table.
Examples:
$wpdb->insert( 'table', array( 'column1' => 'foo', 'column2' => 'bar', ) ); $wpdb->insert( 'table', array( 'column1' => 'foo', 'column2' => 1337, ), array( '%s', '%d', ) );
Method of the class: wpdb{}
No Hooks.
Return
Int|false
. The number of rows inserted, or false on error.
Usage
global $wpdb; $wpdb->insert( $table, $data, $format );
- $table(string) (required)
- Table name.
- $data(array) (required)
- Data to insert (in column => value pairs). Both $data columns and $data values should be "raw" (neither should be SQL escaped). Sending a null value will cause the column to be set to NULL - the corresponding format is ignored in this case.
- $format(string[]|string)
- An array of formats to be mapped to each of the value in $data. If string, that format will be used for all of the values in $data. A format is one of '%d', '%f', '%s' (integer, float, string). If omitted, all values in $data will be treated as strings unless otherwise specified in wpdb::$field_types.
Default: null
Examples
#1 Getting the ID of the inserted object
To get it, use $wpdb->insert_id
:
global $wpdb; $table = $wpdb->prefix . 'my_table_name'; $data = [ 'column1' => 'data one', 'column2' => 123 ]; $wpdb->insert( $table, $data ); $my_id = $wpdb->insert_id;
#2 Insert a line into the database table
// insert string with values for two fields (values for other fields will be default) $wpdb->insert( 'table', [ 'column' => 'foo', 'field' => 'bar' ] ); // specifying data types $wpdb->insert( 'table', [ 'column' => 'foo', 'field' => 1337 ], [ '%s', '%d' ] );
Notes
- See: wpdb::prepare()
- See: wpdb::$field_types
- See: wp_set_wpdb_vars()
Changelog
Since 2.5.0 | Introduced. |
wpdb::insert() wpdb::insert code WP 6.7.2
public function insert( $table, $data, $format = null ) { return $this->_insert_replace_helper( $table, $data, $format, 'INSERT' ); }