WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

wpdb::_insert_replace_helper() public WP 3.0.0

Helper function for insert and replace.

Runs an insert or replace query based on $type argument.

{} Это метод класса: wpdb{}

Хуков нет.

Возвращает

Число/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(массив/строка)
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. Possible values include 'INSERT' or 'REPLACE'.
По умолчанию: 'INSERT'

Заметки

  • Смотрите: wpdb::prepare()
  • Смотрите: wpdb::$field_types
  • Смотрите: wp_set_wpdb_vars()

Список изменений

С версии 3.0.0 Введена.

Код wpdb::_insert_replace_helper() WP 5.5.2

<?php
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 ) );
}