Forum und email

sqlite_open

(PHP 5, PECL sqlite:1.0-1.0.3)

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

Описание

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

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

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

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

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

Example#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);
}
?>

Tip

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

Tip

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

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

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

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

sqlite_popen(), sqlite_close() и sqlite_query()