(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_open — Открывает базу данных SQLite или создает ее, если она не существует
$filename
[, int $mode
= 0666
[, string &$error_message
]] )Объектно-ориентированный стиль (конструктор):
$filename
[, int $mode
= 0666
[, string &$error_message
]] )Открывает базу данных SQLite или создает ее, если она не существует.
filename
Имя файла базы данных SQLite. Если файл не существует, SQLite попытается создать его. PHP должен владеть правами записи на файл в случае вставки данных, изменения схемы базы данных или создания файла с базой данных, если он не существует.
mode
Режим прав доступа на файл. Предназначется для открытия базы данных в режиме только для чтения, однако в настоящее время этот аргумент не используется библиотекой sqlite. Значением по умолчанию (и рекомендуемым к использованию) является восьмеричное 0666.
error_message
Передается по ссылке и устанавливается в читабельное сообщение об ошибке, объясняющее почему не удалось открыть базу данных, в случае возникновения таковой ошибки.
Возвращает ресурс (идентификатор базы данных) при успешном завершении,
FALSE
при возникновении ошибки.
Пример #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 разделах. Общеизвестна плохая реализация блокировок в NFS, поэтому вам может даже не удастся открыть базу данных вообще, а если все-таки это произойдет, то поведение данной блокировки будет неопределенным.
Замечание: Начиная с SQLite версии 2.8.2, можно указывать :memory: в качестве значения аргумента
filename
для создания базы данных в памяти. Это может быть полезно в тех случаях, когда необходимо создание временной базы данных, которая должна быть уничтожена при завершении процесса. Также это может использоваться совместно с командой ATTACH DATABASE для загрузки других баз данных и выполнения операций с ними.
Замечание: Модуль SQLite учитывает опции безопасный режим и open_basedir.