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_open
ivoras at fer dot hr
26-May-2004 10:46
Since sqlite uses a journal to do updates and inserts (and creates it on the fly), you ALSO must have write permissions set for the web server to write in the same DIRECTORY as the database file.

<sqlite_num_rowssqlite_popen>
 Last updated: Tue, 15 Nov 2005