Руководство по PHP
Пред. |  | След.

# sqlite_open

(PHP 5)

sqlite_open -- Открывает или создает базу данных SQLite

## Описание

resource sqlite_open ( string filename [, int mode [, string &error_message]] )

Возвращает ресурс (идентификатор базы данных) при успешном завершении, `FALSE` при возникновении ошибки.

Аргумент filename задает имя базы данных. Это может быть абсолютный или относительный путь к файлу, в котором будут храниться данные. Если файл не существует, будет предпринята попытка его создания. У пользователя, от имени которого выполняется скрипт, ДОЛЖНЫ быть права на запись в файл, если необходимо добавлять данные или изменять структуру данных.

Аргумент mode задает режим доступа к файлу базы данных, и мог бы использоваться для открытия базы данных только для чтения, однако в настоящее время этот аргумент не используется. Рекомендуется использовать восьмеричное 0666 в качестве значения этого аргумента, если необходимо использовать аргумент errmessage.

Аргумент errmessage передается по ссылке, в нем возвращается сообщение об ошибке.

Пример 1. Пример sqlite_open()

`<?php if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) { sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))'); sqlite_query($db, "INSERT INTO foo VALUES ('fnord')"); $result = sqlite_query($db, 'select bar from foo'); var_dump(sqlite_fetch_array($result)); } else { die($sqliteerror); } ?>`

> Подсказка: На Unix-подобных системах, SQLite может работать некорректно в программах, использующих вызов fork(). В таких программах рекомендуется закрывать базу данных перед запуском дочернего процесса и затем заново открывать ее в дочернем и/или родительском процессе. Дополнительная информация о проблеме содержится в описании интерфейса SQLite на языке C в разделе Multi-Threading And SQLite.

> Подсказка: Не рекомендуется работать с базами данных SQLite через NFS, из-за возможных проблем с блокировкой файла.

> Замечание: Начиная SQLite версии 2.8.2, можно указывать :memory: в качестве значения аргумента filename для создания базы данных в памяти. Это может быть полезно в тех случаях, когда необходимо создание временной базы данных, которая должна быть уничтожена при завершении процесса. Также это может использоваться совместно с командой ATTACH DATABASE для подключения других баз данных и выполнения операций с ними.

> Замечание: Модуль SQLite учитывает установки безопасный режим и open_basedir.

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

sqlite_popen(), sqlite_close() и sqlite_query()

Пред. | Начало | След.
sqlite_num_rows | Уровень выше | sqlite_popen