Inserts a row into the table.
Description
Examples:
$wpdb->insert(
'table',
array(
'column1' => 'foo',
'column2' => 'bar',
)
);
$wpdb->insert(
'table',
array(
'column1' => 'foo',
'column2' => 1337,
),
array(
'%s',
'%d',
)
);
See also
- wpdb::prepare()
- wpdb::$field_types
- wp_set_wpdb_vars()
Parameters
$table
stringrequired- Table name.
$data
arrayrequired- 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[]|stringoptional- 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
Source
public function insert( $table, $data, $format = null ) {
return $this->_insert_replace_helper( $table, $data, $format, 'INSERT' );
}
Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |
To get the id of the inserted object use
$wpdb->insert_id;
Worth mentioning that
wpdb::insert
sanitizes your data for you, unlike$wpdb->query
which requires you to sanitize your query with$wpdb->prepare
.Insert multiple rows at once
$format
is four, while the length of$data
is three; they must match.