wpdb::_insert_replace_helper()
Helper function for insert and replace.
Runs an insert or replace query based on $type argument.
Метод класса: wpdb{}
Хуков нет.
Возвращает
int|false
. The number of rows affected, or false on error.
Использование
global $wpdb; $wpdb->_insert_replace_helper( $table, $data, $format, $type );
- $table(строка) (обязательный)
- Table name.
- $data(массив) (обязательный)
- 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[]|строка)
- 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.
По умолчанию: null - $type(строка)
- Type of operation. Either 'INSERT' or 'REPLACE'.
По умолчанию: 'INSERT'
Заметки
- Смотрите: wpdb::prepare()
- Смотрите: wpdb::$field_types
- Смотрите: wp_set_wpdb_vars()
Список изменений
С версии 3.0.0 | Введена. |
Код wpdb::_insert_replace_helper() wpdb:: insert replace helper WP 6.7.2
public function _insert_replace_helper( $table, $data, $format = null, $type = 'INSERT' ) { $this->insert_id = 0; if ( ! in_array( strtoupper( $type ), array( 'REPLACE', 'INSERT' ), true ) ) { return false; } $data = $this->process_fields( $table, $data, $format ); if ( false === $data ) { return false; } $formats = array(); $values = array(); foreach ( $data as $value ) { if ( is_null( $value['value'] ) ) { $formats[] = 'NULL'; continue; } $formats[] = $value['format']; $values[] = $value['value']; } $fields = '`' . implode( '`, `', array_keys( $data ) ) . '`'; $formats = implode( ', ', $formats ); $sql = "$type INTO `$table` ($fields) VALUES ($formats)"; $this->check_current_query = false; return $this->query( $this->prepare( $sql, $values ) ); }