wpdb::delete( string $table, array $where, string[]|string $where_format = null ): int|false

Deletes a row in the table.

Description

Examples:

$wpdb->delete( 'table', array( 'ID' => 1, ) ); $wpdb->delete( 'table', array( 'ID' => 1, ), array( '%d', ) );

See also

Parameters

$tablestringrequired
Table name.
$wherearrayrequired
A named array of WHERE clauses (in column => value pairs).
Multiple clauses will be joined with ANDs.
Both $where columns and $where values should be "raw".
Sending a null value will create an IS NULL comparison – the corresponding format will be ignored in this case.
$where_formatstring[]|stringoptional
An array of formats to be mapped to each of the values in $where.
If string, that format will be used for all of the items in $where.
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 deleted, or false on error.

Source

public function delete( $table, $where, $where_format = null ) {	if ( ! is_array( $where ) ) {	return false;	}	$where = $this->process_fields( $table, $where, $where_format );	if ( false === $where ) {	return false;	}	$conditions = array();	$values = array();	foreach ( $where as $field => $value ) {	if ( is_null( $value['value'] ) ) {	$conditions[] = "`$field` IS NULL";	continue;	}	$conditions[] = "`$field` = " . $value['format'];	$values[] = $value['value'];	}	$conditions = implode( ' AND ', $conditions );	$sql = "DELETE FROM `$table` WHERE $conditions";	$this->check_current_query = false;	return $this->query( $this->prepare( $sql, $values ) ); } 

Changelog

VersionDescription
3.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.