CXVIII. SQLite

Introduzione

Questo è un modulo per l'uso di SQLite Embeddable SQL Database Engine. SQLite è una libreria C che implementa al proprio interno un motore per database SQL. I programmi che compilano al proprio interno la libreria SQLite possono accedere ad un database senza dovere eseguire un processo RDBMS separato.

SQLite non è una libreria client che si deve collegare ad un qualche grosso server database. SQLite è il server. La libreria SQLite legge e scrive direttamente sul file del database.

Nota: Per maggiori informazioni vedere il sito web di SQLite (http://sqlite.org/).

Installazione

Leggere il file INSTALL allegato al pacchetto. Oppure utilizzare l'installatore PEAR con i parametri "pear install sqlite". La libreria SQLite è già inclusa. Non occorre installare altro software.

Gli utenti di Windows possono scaricare la versione DLL del module SQLite da qui: (php_sqlite.dll).

Da PHP 5, il modulo SQLite e il motore stesso saranno inclusi per default.

Requisiti

Per potere utilizzare questa funzioni, occorre compilare il PHP con il supporto per SQLite, oppure caricare dinamicamente il modulo da php.ini.

Tipi di risorse

SQLite utilizza due risorse. La prima è la connessione con il database, la seconda è il set di risultati.

Costanti predefinite

Le funzioni sqlite_fetch_array() e sqlite_current() utilizzano costanti per indicare i differenti tipi di matrici da restituire. Tali costanti sono:

Tabella 1. Costanti di SQLiteper scaricare le righe

costantesignificato
SQLITE_ASSOC Le colonne sono restituite in una matrice il cui indice è il nome del campo.
SQLITE_BOTH Le colonne sono restituite in una matrice il cui indice è costituito sia dal nome del campo sia numero della posizione di questo nella riga.
SQLITE_NUM Le colonne sono restituite in una matrice il cui indice è costituito dalla posizione del campo nella riga. La prima colonna parte da 0.

Configurazione di Runtime

Il comportamento di queste funzioni è influenzato dalle impostazioni di php.ini.

Tabella 2. Parametri di configurazione di SQLite

NomeDefaultModificabile
sqlite.assoc_case0PHP_INI_ALL
Per maggiori dettagli e definizioni delle costanti PHP_INI_* vedere ini_set().

Breve descrizione dei parametri di configurazione.

sqlite.assoc_case int

Indica se utilizzare indici misti (0), solo maiuscole (1) oppure solo minuscoli (2).

Questa opzione è utile quando si ha necessità di avere compatibilità con altri database, nei quali i nomi delle colonne sono sempre restituiti o maiuscoli o minuscoli, a prescindere dalla definizione del campo nello schema del database.

La libreria SQLite restituisce i nomi delle colonne così come sono definiti (ovvero rispettando le maiuscole o le minuscole indicate nello schema). Quando si imposta sqlite.assoc_case a 0 si rispetta la definizione. Quando si imposta il parametro a 1 oppure a 2, il PHP converte i nomi rispettivamente in maiuscolo o minuscolo.

L'utilizzo di questa opzione comporta una lieve penalità nelle performance, ma è molto più veloce che convertire i nomi dallo script PHP.

Sommario
sqlite_array_query -- Esegue una query in un dato database e restituisce una matrice
sqlite_busy_timeout -- Imposta il timeout di 'in uso', o disabilita l'handle di 'in uso'
sqlite_changes --  Restituisce il numero di righe modificate dall'ultima istruzione SQL
sqlite_close -- Chiude un database SQLITE
sqlite_column -- Scarica una riga dal set di risultati corrente
sqlite_create_aggregate -- Registra un aggregato UDF da utilizzare nelle istruzioni SQL
sqlite_create_function --  Registra una funzione utente "regolare" da utilizzare nelle istruzioni SQL
sqlite_current -- Scarica la riga corrente di un set di risultati in una matrice
sqlite_error_string -- Restituisce la descrizione testuale di un codice di errore
sqlite_escape_string -- Inserisce il carattere di escape in stringa da usarsi in una query.
sqlite_exec -- Executes a result-less query against a given database
sqlite_factory -- Opens a SQLite database and returns a SQLiteDatabase object
sqlite_fetch_all -- Fetches all rows from a result set as an array of arrays
sqlite_fetch_array -- Scarica com matrice la riga successiva da un set di risultati
sqlite_fetch_column_types --  Return an array of column types from a particular table
sqlite_fetch_object -- Fetches the next row from a result set as an object
sqlite_fetch_single -- Scarica come stringa la prima colonna di un set di risultati
sqlite_fetch_string -- Alias di sqlite_fetch_single()
sqlite_field_name -- Restituisce il nome di un particolare campo
sqlite_has_more -- restituisce se sono disponibili o meno ulteriori righe
sqlite_has_prev -- Returns whether or not a previous row is available
sqlite_key -- Returns the current row index
sqlite_last_error -- Restituisce il codice di errore dell'ultimo errore accorso sul database
sqlite_last_insert_rowid -- Restituisce l'identificativo di riga dell'ultima riga inserita
sqlite_libencoding -- Restituisce la codifica della libreria SQLite
sqlite_libversion -- Restituisce la versione della libreria SQLite
sqlite_next -- Si sposta al successivo numero di riga
sqlite_num_fields -- Resituitsce il numero di campi da un set di risultati
sqlite_num_rows -- Restituisce il numero di righe da un set di risultati bufferizzato
sqlite_open -- Apre un database SQLite e crea il database se non esiste.
sqlite_popen --  Apre una connessione persistente ad un database SQLite e crea il database se non esiste
sqlite_prev -- Seek to the previous row number of a result set
sqlite_query --  Esegue una query su un database e restituisce un puntatore al set di risultati
sqlite_rewind -- Posiziona sulla prima riga
sqlite_seek -- Posizionamento su una data riga di un set di risultati bufferizzato
sqlite_single_query --  Executes a query and returns either an array for one single column or the value of the first row
sqlite_udf_decode_binary -- Decodifica dati binari passati come parametri in UDF
sqlite_udf_encode_binary -- Codifica i dati binari prima di restituirli da un UDF
sqlite_unbuffered_query -- Esegue una query senza scaricare e bufferizzare i dati
sqlite_valid -- Returns whether more rows are available

Hosting by: hurra.com
Generated: 2007-01-26 17:56:37