Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
    • Теги
    • API
    • DBAPI
    • System Variables
    • MMrules
  • Дополнения
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • DBAPI

insert DBAPI

  • Разработчикам
  • DBAPI
  • insert
Menu
  • connect
  • delete
  • disconnect
  • escape
  • getAffectedRows
  • getColumn
  • getColumnNames
  • getHTMLGrid
  • getInsertId
  • getRecordCount
  • getRow
  • getTableMetaData
  • getValue
  • getXML
  • insert
  • makeArray
  • prepareDate
  • query
  • select
  • update
  • getLastError
  • initDataTypes
5246

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;
	}
}