Forum und email

sqlite_open

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_open — Abre um banco de dados SQLite. Irá criar o banco de dados se ele não existir

Descrição

resource sqlite_open ( string $filename [, int $mode [, string $&error_message ]] )

Retorna um recurso(conexão com o banco de dados) se funcionar, FALSE on error.

O parâmetro filename é o nome do banco de dados. Pode ser um caminho relativo ou absoluto para o arquivo que o sqlite irá usar para guardar os seus dados. Se o arquivo não existir, o sqlite tentará cria-lo. Você DEVE ter permissões de escrita para o arquivo caso você queira inserir dados ou modificar o seu banco de dados.

O parâmetro mode especifica o modo que o arquivo será aberto. A intenção é para ser usado para abrir o banco de dados em modo somente-leitura. Atualmente, este parâmetro é ignorado pela biblioteca sqlite. O valor padrão é o valor octal 0666 e este é o valor recomendado se você precisa usar o parâmetro errmessage .

errmessage é passado por referencia para conter uma mensagem de erro descritiva explicando porque o banco de dados não pôde ser aberto se houver um erro.

Example#1 Exemplo sqlite_open()

<?php
if ($db sqlite_open('mysqlitedb'0666$sqliteerror)) {
  
sqlite_query('CREATE TABLE foo (bar varchar(10))');
  
sqlite_query("INSERT INTO foo VALUES ('fnord')");
  
$result sqlite_query('select bar from foo');
  
var_dump(sqlite_fetch_array($result));
} else {
  die (
$sqliteerror);
}
?>

Dica

Em plataformas Unix, SQLite é sensível a scripts que usam a chamada do sistema fork(). Se você tem um script como esse, é recomendavel que você feche o banco de dados antes de usar o fork() e abra-o novamente no outro processo. Para maiores informações sobre isto, veja » The C language interface to the SQLite library na seção entitulada Multi-Threading And SQLite.

Dica

Não é recomentado trabalhar com banco de dados SQLite sobre partições NFS. Desde que NFS é notoriamente ruim quando se usa travas você vai achar que não pode abrir o banco de dados, e se abrir, o funcionamento das travas será indefinido.

Nota: Apartir da versão 2.8.2 da biblioteca do SQLite, você pode especificar :memory: como o parâmetro filename para criar um banco de dados que vive somente na memória do computador. Isto é útil principalmente para processar algo temporário, já que o banco de dados na memória será destruidoas ao final do processo. Também pode ser útil quando usado com o SQL ATTACH DATABASE para abrir outros banco de dados e realizar uma query entre eles.

Nota: SQLite é safe mode e a par do open_basedir.

Veja também sqlite_popen(), sqlite_close() e sqlite_query().