sqlite_open

(PHP 5)

sqlite_open -- Apre un database SQLite. Crea il database se non esiste.

Descrizione

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

Restituisce una risorsa (database handle) se ha successo, oppure FALSE se si verifica un errore.

Il parametro filename indica il nome del database. Può essere un percorso relativo o assoluto al file che SQLite utilizzerà per memorizzare i dati. Se il file non esiste, SQLite tenterà di crearlo. BISOGNA avere i permessi di scrittura sul file se si desidera inserire dei dati o modficare lo schema del database.

Il parametro mode specifica la modalità del file ed è inteso per essere utilizzato per l'apertura del file in modalità read-only. Attualmente questo parametro viene ignorato da SQLite. Per default la modalità di apertura è 0666 e questo è il valore raccomandato se si necessita di accedere al parametro errmessage.

Il parametro errmessage è passato per riferimento ed è impostato per contenere un messaggio descrittivo di errore nel caso non si riesca ad aprire il database a causa di un errore.

Esempio 1. Esempio di uso di 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);
}
?>

Suggerimento: Sui sistemi Unix, SQLite è sensibile agli script che utilizzano la chiamata di sistema fork(). Se si sta utilizzando un tale script, si raccomanda di chiudere la connessione prima dell'esecuzione del fork, e quindi ri-aprirlo nel processo figlio/padre. Per maggiori informazioni su questo particolare vedere L'interfaccia C alla libreria SQLite nella sezione intitolata Multi-Threading e SQLite.

Suggerimento: Si raccomanda di non utilizzare database SQLite su partizioni montate via NFS. Poiché è noto che NFS non è affidabile con i lock, può capitare che si riesca neppure ad aprire il database, o, se ci si riesce, il comportamento dei lock può essere indefinito.

Nota: A partire dalla versione 2.8.2 della libreria SQLite, si può specificare :memory: come valore per il parametro filename in modo da creare database che risiedano soltanto in memoria. Principalmente questo è utile per le elaborazioni temporanee, poiché il database in memoria sarà distrutto non appena il processo termina. Può anche essere utilizzato in coppia con l'istruzione SQL ATTACH DATABASE per caricare altri database in modo da potere muovere i dati tra di loro.

Nota: SQLite sensibile al safe mode e a open_basedir.

Vedere anche sqlite_popen(), sqlite_close() e sqlite_query().