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 передается по ссылке, в нем возвращается сообщение об ошибке.

Пример #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()

Коментарии

Автор:
the above example dows not! work since sqlite_query() does not accept one argument, but only 2. 

so correct is:

<?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);
}
?>
2006-11-15 04:45:18
http://php5.kiev.ua/manual/ru/function.sqlite-open.html
Автор:
If you miss to set the permissions mentioned by ivoras Sqlite will drop an error message saying "Malformed database scheme", which is somehow misleading.

(I mentioned this as some [I did] might search php.net for this error message)
2007-03-02 08:52:01
http://php5.kiev.ua/manual/ru/function.sqlite-open.html
Автор:
If you are using PHP7 or up, use PDO instead. this seems to be outdated since newer than 5.4
2017-03-08 22:37:41
http://php5.kiev.ua/manual/ru/function.sqlite-open.html

    Поддержать сайт на родительском проекте КГБ