CXLII. SQLite

Введение

Этот модуль обеспечивает доступ к встраиваемой системе управления базами данных SQLite. Программы, использующие библиотеку SQLite, могут использовать SQL базы данных без использования внешней системы управления базами данных.

SQLite не является клиентской библиотекой, подключающейся к серверу базы данных. SQLite напрямую работает с файлами базы данных на диске.

Замечание: Более подробную информацию можно получить на сайте SQLite (http://sqlite.org/).

Установка

Прочтите файл INSTALL, поставляемый с исходными тестами модуля. Или просто воспользуйтесь командой установки PEAR: "pear install sqlite". Библиотека SQLite включена, устанавливать ее дополнительно нет необходимости.

Пользователи Windows могут загрузить скомпилированную версию модуля SQLite здесь: (php_sqlite.dll).

В PHP 5, модуль SQLite включен и устанавливается по умолчанию.

Требования

Для использования функций этого модуля, PHP должен быть собран с поддержкой SQLite, или модуль должн быть подключен динамически в php.ini.

Типы ресурсов

Модуль SQLite определяет два типа ресурсов : соединение с базой данных и результат запроса.

Предопределенные константы

Функции sqlite_fetch_array() и sqlite_current() могут принимать аргумент, задающий вид возвращаемого массива. В качестве значения этого аргумента используется одна из следующих констант:

Таблица 1. Константы выборки SQLite

КонстантаЗначение
SQLITE_ASSOC Индексами массива являются имена полей.
SQLITE_BOTH Каждому полю соответствуют два элемента массива: с числовым индексом, являющимся порядковым номером поля, начиная с 0, и строковым индексом - именем поля.
SQLITE_NUM Индексами массива являются порядковые номера полей, начиная с 0.

Настройка во время выполнения

Поведение этих функций зависит от установок в php.ini.

Таблица 2. Директивы конфигурации SQLite

ИмяЗначение по умолчаниюИзменяется
sqlite.assoc_case0PHP_INI_ALL
Подробное описание констант PHP_INI_* см. в описании функции ini_set().

Краткое разъяснение конфигурационных директив.

sqlite.assoc_case int

Использование смешанного (0), верхнего (1) или нижнего (2) регистра символов в именах полей.

Эта директива используется в основном для обеспечения совместимости с системами управления базами данных, в которых имена полей всегда возвращаются в верхнем или нижнем регистре, независимо от регистра символов, заданного в структуре базы данных.

Библиотека SQLite возвращает имена полей в точности так, как они заданы в структуре базы данных. Если директива sqlite.assoc_case имеет значение 0, регистр символов остается без изменения. Когда она имеет значение 1 или 2, PHP преобразует имена полей в верхний или нижний регистр соответственно.

Использование этой директивы немного снижает производительность, однако это НАМНОГО быстрее, чем преобразование регистра в PHP скрипте.

Содержание
sqlite_array_query --  Выполняет запрос к базе данных и возвращает результат в виде массива
sqlite_busy_timeout -- Устанавливает время ожидания
sqlite_changes --  Возвращает количество записей, которые были изменены последним SQL запросом
sqlite_close -- Закрывает базу данных SQLite
sqlite_column -- Выбирает одно поле из текущей записи результата запроса
sqlite_create_aggregate --  Регистрирует агрегатную функцию для использования в SQL запросах
sqlite_create_function --  Регистрирует функцию для использования в SQL запросах
sqlite_current --  Возвращает текущую запись результата запроса в массиве
sqlite_error_string -- Возвращает строку с описанием ошибки
sqlite_escape_string -- Экранирует спецсимволы в строке для использования в запросе
sqlite_exec --  Выполняет запрос, не возвращающий записей
sqlite_factory --  Открывает базу данных SQLite и возвращает объект
sqlite_fetch_all --  Выбирает все записи из результата запроса и возвращает массив массивов
sqlite_fetch_array --  Выбирает следующую запись из результата запроса и возвращает массив
sqlite_fetch_column_types --  Возвращает массив, содержащий информацию о типах полей в таблице
sqlite_fetch_object --  Выбирает следующую запись из результата запроса и возвращает объект
sqlite_fetch_single --  Выбирает значение первого поля из результат запроса в виде строки
sqlite_fetch_string --  Псевдоним функции sqlite_fetch_single()
sqlite_field_name -- Возвращает имя указанного поля результата запроса
sqlite_has_more --  Определяет, есть ли еще записи в результате запроса
sqlite_has_prev --  Определяет, доступна ли предыдущая запись
sqlite_key -- Returns the current row index
sqlite_last_error -- Возвращает код ошибки последней операции с SQLite
sqlite_last_insert_rowid --  Возвращает идентификатор последней вставленной записи
sqlite_libencoding --  Возвращает кодировку, используемую подключенной библиотекой SQLite
sqlite_libversion -- Возвращает версию подключенной библиотеки SQLite
sqlite_next -- Переходит на следующую запись
sqlite_num_fields -- Возвращает количество полей в результате запроса
sqlite_num_rows -- Возвращает количество записей в результате запроса
sqlite_open -- Открывает или создает базу данных SQLite
sqlite_popen --  Открывает или создает базу данных SQLite, делая подключение постоянным
sqlite_prev -- Переходит на предыдущую запись
sqlite_query --  Выполняет запрос к базе данных и возвращает идентификатор результата
sqlite_rewind -- Переходит к первой записи
sqlite_seek -- Переходит к определенному номеру записи
sqlite_single_query --  Выполняет SQL зпрос и возвращает массив со значениями одного поля или первую запись
sqlite_udf_decode_binary --  Декодирует бинарные данные, переданные в пользовательскую функцию
sqlite_udf_encode_binary --  Кодирует бинарные данные, возвращаемые пользовательской функцией
sqlite_unbuffered_query --  Выполняет запрос без буферизации результатов
sqlite_valid -- Returns whether more rows are available