(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)
sqlite_exec -- SQLiteDatabase::exec — Выполняет запрос, не возвращающий записей
$dbhandle
, string $query
[, string &$error_msg
] )$query
, resource $dbhandle
)Объектно-ориентированный стиль (метод):
$query
[, string &$error_msg
] )
Выполняет запрос query
к базе данных, идентификатор
которой задан аргументом dbhandle
.
SQLite выполнит несколько запросов, разделенных точкой с запятой, за один вызов функции. Это можно использовать, например, для выполнения запросов, прочитанных из файла.
dbhandle
Ресурс базы данных SQLite, полученный из функции sqlite_open() в случае использования процедурного подхода. Этот параметр не требуется при использовании объектно-ориентированного подхода.
query
Выполняемый запрос.
Данные в запросе должны быть корректно проэкранированы.
error_msg
Данная переменная будет заполнена текстом ошибки, если таковая произойдет. Это особенно важно, потому что синтаксические ошибки SQL не могут быть получены из функции sqlite_last_error().
Замечание: Поддерживаются два альтернативных синтаксиса для совместимости с другими расширениями баз данных (например, MySQL). Предпочитаемая форма - первая, в которой параметр
dbhandle
является первым параметром функции.
Это функция возвращает булевый результат: TRUE
в случае успеха
и FALSE
в случае ошибки.
Если вам необходимо запустить запрос, возвращающий результат,
используйте функцию sqlite_query().
Имена столбцов, возвращаемые
SQLITE_ASSOC
и SQLITE_BOTH
, будут
приведены к нужному регистру согласно значению конфигурационной опции
sqlite.assoc_case.
Версия | Описание |
---|---|
5.1.0 |
Добавлен параметр error_msg
|
Пример #1 Пример с использованием процедурного стиля
<?php
$dbhandle = sqlite_open('mysqlitedb');
$query = sqlite_exec($dbhandle, "UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
exit("Ошибка в запросе: '$error'");
} else {
echo 'Количество затронутых рядов: ', sqlite_changes($dbhandle);
}
?>
Пример #2 Object-oriented example
<?php
$dbhandle = new SQLiteDatabase('mysqlitedb');
$query = $dbhandle->queryExec("UPDATE users SET email='jDoe@example.com' WHERE username='jDoe'", $error);
if (!$query) {
exit("Ошибка в запросе: '$error'");
} else {
echo 'Количество затронутых рядов: ', $dbhandle->changes();
}
?>