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()