sqlite_open
(PHP 5, PECL sqlite >= 1.0.0)
sqlite_open — Открывает или создает базу данных SQLite
Описание
resource sqlite_open
( string $filename
[, int $mode
[, string &$error_message
]] )
Аргумент 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.