wpdb::insert( string $table, array $data, array|string $format = null )

Insert a row into a table.


wpdb::insert( ‘table’, array( ‘column’ => ‘foo’, ‘field’ => ‘bar’ ) ) wpdb::insert( ‘table’, array( ‘column’ => ‘foo’, ‘field’ => 1337 ), array( ‘%s’, ‘%d’ ) )

See also



(string) (Required) Table name


(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.


(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 value: null


(int|false) The number of rows inserted, or false on error.


File: wp-includes/wp-db.php

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


Version Description
WP-2.5.0 Introduced.