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
$tablestringrequired- Table name.
$dataarrayrequired- Data to insert (in column => value pairs).
Both$datacolumns and$datavalues 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. $formatstring[]|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$datawill 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::insertsanitizes your data for you, unlike$wpdb->querywhich requires you to sanitize your query with$wpdb->prepare.Insert multiple rows at once
$formatis four, while the length of$datais three; they must match.