Manuale PHP
Indietro |  | Avanti

# sqlite_popen

(PHP 5)

sqlite_popen -- Apre una connessione persistente ad un database SQLite e crea il database se non esiste

## Descrizione

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

Questa funzione agisce in modo identico a sqlite_open() tranne che utilizza il meccanismo delle risorse persistenti insito in PHP. Per maggiori informazioni sui parametri leggere la pagina del manuale relativa a sqlite_open().

sqlite_popen() per prima cosa verifica se esiste già un connessione persistente per il dato filename. Se ne trova una restituisce quella altrimenti ne apre una nuova.

Il beneficio di questo approccio è che si evita il costo, in termini di performance, di dovere ri-leggere lo schema del database e degli indici ad ogni pagina servita dal server web (qualsiasi SAPI tranne CGI o CLI).

> Nota: Se si utilizza la connessione persistente, ed il sottostante database viene aggiornato da un processo che gira in background (ad esempio via crontab), e questo processo ricrea il database riscrivendolo (ad esempio cancellandolo e scrivendone uno nuovo, oppure movendo la nuova versione sulla vecchia), si possono manifestare comportamenti indefiniti quando si torna ad utilizzare la connessione persistente verso il vecchio database.

> Per evitare questa situazione, occorre che il processo in background apra lo stesso database ed esegua gli aggiornamenti mediante transazioni.

## Elenco dei parametri

filename

  Nome del database SQLite. Se il file non esiste, SQLite tenterà di crearlo. Il PHP deve avere i permessi di scrittura sul file se si desidera inserire dei dati o modficare lo schema del database, o creare il database se non esiste.

mode

  Specifica la modalità del file. E' 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 è il valore ottale 0666, ed è questa l'impostazione raccomandata.

error_message

  Passato per riferimento, è impostato per contenere un messaggio descrittivo di errore nel caso non si riesca ad aprire il database a causa di un errore.

## Valori restituiti

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

## Vedere anche:

sqlite_open()
sqlite_close()
sqlite_factory()

Indietro | Partenza | Avanti
sqlite_open | Risali | sqlite_prev