Разберем выполнение INSERT запроса для вставки данных в БД MySQL из плагина Amiro.CMS с использованием API.
Запрос INSERT можно выполнить двумя способами. Способ 1:AMI::getSingleton('db')->query( DB_Query::getSnippet("INSERT INTO `custom_table` (`field1`, `field2, `field3`) VALUE (%s, %s, %s)") ->q('value1') ->plain(1) ->q('some long value here') );
Способ 2:
$oDB =AMI::getSingleton('db');
$sql = DB_Query::getInsertQuery("custom_table", array(
'field1' => DB_Query::getSnippet('%s')->q('value1'),
'field2' => DB_Query::getSnippet('%s')->plain(2),
'field3' => DB_Query::getSnippet('%s')->q('some long value here'),
)
);
$res = $oDB->query($sql);
Какой способ выбрать решать вам, исходя из преследуемых целей. Ну и напоследок:
Получение ID добавленной записи
$insertId = $oDB->getInsertId();
Полезные ссылки: - http://manual.amiro.ru/docs/api6/DB/DB_Snippet.html
- http://manual.amiro.ru/docs/api6/DB/AMI_DB.html#methodgetInsertId
- http://manual.amiro.ru/docs/api6/DB/DB_Query.html#methodgetInsertQuery
|