Выполняет запрос, не возвращающий записей


SQLiteDatabase::exec

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.3)

sqlite_exec -- SQLiteDatabase::execВыполняет запрос, не возвращающий записей

Описание

bool sqlite_exec ( resource $dbhandle , string $query [, string &$error_msg ] )
bool sqlite_exec ( string $query , resource $dbhandle )

Объектно-ориентированный стиль (метод):

public bool SQLiteDatabase::queryExec ( string $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();
}
?>

Смотрите также

  • sqlite_query() - Выполняет запрос к базе данных и возвращает идентификатор результата
  • sqlite_unbuffered_query() - Выполняет запрос без буферизации результатов
  • sqlite_array_query() - Выполняет запрос к базе данных и возвращает результат в виде массива