WPDB::INSERT() — Вставка строки в таблицу
Функция WPDB::INSERT() позволяет вставлять новые строки в таблицы базы данных WordPress. Это простой и удобный способ добавления данных.
Пример использования
Вот несколько примеров, как можно использовать эту функцию:
Простой пример вставки данных
global $wpdb;
$wpdb->insert(
'table',
array(
'column1' => 'foo',
'column2' => 'bar',
)
);
Вставка с указанием формата данных
global $wpdb;
$wpdb->insert(
'table',
array(
'column1' => 'foo',
'column2' => 1337,
),
array(
'%s', // Это строка
'%d', // Это целое число
)
);
Описание метода
- Метод класса: wpdb
- Использует:
wpdb::_insert_replace_helper() - Крючки (Hooks): Отсутствуют.
Возвращаемое значение
Метод возвращает:
- int | false: количество вставленных строк или
false, если произошла ошибка.
Аргументы функции
- $table (string, обязательный): имя таблицы, куда будут вставляться данные.
- $data (array, обязательный): массив данных для вставки в формате
ключ => значение. При этом ключи соответствуют названиям столбцов таблицы. Обратите внимание, что значения должны быть "сырыми", т.е. без SQL экранирования. - $format (string[]|string, не обязательный): массив форматов для каждого значения в
$data. Если передан как строка, будет использован для всех значений. Форматы могут быть такими:- '%d' — целое число
- '%f' — число с плавающей точкой
- '%s' — строка
Если не указан, все значения будут трактоваться как строки.
По умолчанию: null
Примеры применения
1. Получение ID вставленного объекта
Чтобы получить ID последнего вставленного объекта, воспользуйтесь следующим кодом:
global $wpdb;
$table = $wpdb->prefix . 'my_table_name';
$data = [ 'column1' => 'data one', 'column2' => 123 ];
$wpdb->insert( $table, $data );
$my_id = $wpdb->insert_id; // здесь хранится ID вставленной строки
2. Вставка строки в таблицу базы данных
Вставка строки с настройкой типов данных:
// Вставка значения в два столбца (значения остальных столбцов будут по умолчанию)
$wpdb->insert( 'table', [ 'column' => 'foo', 'field' => 'bar' ] );
// Указание типов данных
$wpdb->insert( 'table', [ 'column' => 'foo', 'field' => 1337 ], [ '%s', '%d' ] );
Примечания
- Для правильной работы с данными рекомендуется использовать функцию
wpdb::prepare()для предварительной обработки строк. - Убедитесь, что типы данных, которые вы передаете, совпадают с типами, ожидаемыми базой данных.
Изменения
- С версии 2.5.0: Функция была введена в WordPress.
Связанные функции
wpdb::delete()— удаление строк из таблицы.wpdb::update()— обновление данных в таблице.wpdb::get_results()— получение результатов запроса к базе данных.
Теперь вы знаете, как использовать функцию WPDB::INSERT() для вставки данных в таблицы WordPress!