sqlite_open
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_open — Открывает базу данных SQLite или создает ее, если она не существует
Описание
$filename
[, int $mode
= 0666
[, string &$error_message
]] ) : resourceОбъектно-ориентированный стиль (конструктор):
$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.
Смотрите также
- sqlite_popen() - Открывает постоянное подключение к базе данных SQLite или создает ее, если она не существует
- sqlite_close() - Закрывает открытую базу данных SQLite
- sqlite_factory() - Открывает базу данных SQLite и возвращает объект SQLiteDatabase