wpdb::insert( string $table, array $data, array|string $format = null ): int|false
Inserts a row into the table.
Contents
Description
Examples:
wpdb::insert( 'table', array( 'column' => 'foo', 'field' => 'bar' ) )
wpdb::insert( 'table', array( 'column' => 'foo', 'field' => 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
array|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