Web студия "GrandView"
  Главная   Написать Контакты
   
   
О проекте
Руководство php
 

sqlite_open

(PHP 5)

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()



sqlite_popen> <sqlite_num_rows
Last updated: Sat, 27 Jan 2007
 
add a note add a note User Contributed Notes
sqlite_open
Phillip Berndt
02-Mar-2007 06:52
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)
15-Nov-2006 02:45
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);
}
?>
ivoras at fer dot hr
26-May-2004 10:46
Since sqlite uses a journal to do updates and inserts (and creates it on the fly), you ALSO must have write permissions set for the web server to write in the same DIRECTORY as the database file.

sqlite_popen> <sqlite_num_rows
Last updated: Sat, 27 Jan 2007
 
 
Новости
11 июля 2007
Сайт запущен
© 2007 info@grandviewstudio.com

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/sites/grandviewstudiocom/www/65f67d67a94ad980786580ae69e11c07/sape.php on line 324

Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/sites/grandviewstudiocom/www/65f67d67a94ad980786580ae69e11c07/sape.php on line 330
Z058440144362 Z348613067571