wpdb::insert()publicWP 2.5.0

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

3

#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

#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

Changelog

Since 2.5.0 Introduced.

wpdb::insert() code WP 6.5.2

public function insert( $table, $data, $format = null ) {
	return $this->_insert_replace_helper( $table, $data, $format, 'INSERT' );
}