wpdb::insert( string $table, array $data, string[]|string $format = null ): int|false
Inserts a row into the table.
Contents
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
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 Optional -
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
Return
int|false The number of rows inserted, or false on error.
Source
File: wp-includes/class-wpdb.php
.
View all references
public function insert( $table, $data, $format = null ) {
return $this->_insert_replace_helper( $table, $data, $format, 'INSERT' );
}
Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
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
Top ↑
Feedback
This will fail, as the length of
$format
is four, while the length of$data
is three; they must match. — By crstauf —