insert DBAPI
- Разработчикам
- DBAPI
- insert
insert DBAPI
mixed insert($fields, $intotable [, $fromfields [, $fromtable [, $where [, $limit ]]]])
$fields - ассоциативный массив добавляемых значений, с названием поля в виде ключа
$intotable- таблица для добавления
$fromfields - список полей используемых для импорта из другой таблицы
$fromtable - таблица используемая для импорта
$where - условие для запроса данных из таблицы для импорта
$limit - ограничение количества записей для импорт
Метод INSERT позволяет добавлять новые записи в базу данных. Значения передаются в виде ассоциативного массива $fields, формат которого field => value. Ключ "field" указывает на название колонки, а "value" - добавляемое значение.
Параметры $fromfields, $fromtable, $where и $limit используются для копирования данных из одной таблицы в другую.
Этот метод возвращает AUTO_INCREMENT-идентификатор для добавленной записи.
Пример
function insert_my_rows($data = array()) {
global $modx;
$table_name = $modx->getFullTableName('cars');
$fields = array(
'name' => $data['name'],
'color' => $data['color'],
'make' => $data['make'],
'model' => $data['model'],
);
$modx->db->insert($fields, $table_name);
}
Источник Функции
Файл: manager/includes/extenders/dbapi.mysql.class.inc.php
Строка: 209
function insert($fields, $intotable, $fromfields = "*", $fromtable = "", $where = "", $limit = "") {
if (!$intotable)
return false;
else {
if (!is_array($fields))
$flds = $fields;
else {
$keys = array_keys($fields);
$values = array_values($fields);
$flds = "(" . implode(",", $keys) . ") " . (!$fromtable && $values ? "VALUES('" . implode("','", $values) . "')" : "");
if ($fromtable) {
$where = ($where != "") ? "WHERE $where" : "";
$limit = ($limit != "") ? "LIMIT $limit" : "";
$sql = "SELECT $fromfields FROM $fromtable $where $limit";
}
}
$rt = $this->query("INSERT INTO $intotable $flds $sql");
$lid = $this->getInsertId();
return $lid ? $lid : $rt;
}
}