Forum und email

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 (» https://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:

Costanti di SQLiteper scaricare le righe
costante significato
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.

Parametri di configurazione di SQLite
Nome Default Modificabile
sqlite.assoc_case 0 PHP_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.

Indice dei contenuti

  • 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 — ESegue una query priva di risultato in un dato database
  • sqlite_factory — Apre un database SQLite e restituisce un oggetto SQLiteDatabase
  • sqlite_fetch_all — Scarica tutte le righe di un risultato in una matrice di matrici
  • sqlite_fetch_array — Scarica in una matrice la riga successiva da un set di risultati
  • sqlite_fetch_column_types — Restituisce una matrice con il formato delle colonne di una tabella
  • sqlite_fetch_object — Scarica i dati deti della riga successiva come oggetto
  • 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 — Indica se è disponibile o meno una riga precedente
  • sqlite_key — Restituisce l'indice di riga corrente
  • 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 — Si posiziona sulla riga precedente di un set di risultati
  • sqlite_query — Esegue una query su un database e restituisce un puntatore al set di risultati
  • sqlite_rewind — Si posiziona sulla prima riga
  • sqlite_seek — Posizionamento su una data riga di un set di risultati bufferizzato
  • sqlite_single_query — Esegue una query e restituisce o una matrice per ogni singola colonna o il valore della prima riga
  • 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 — Indica se una o più righe sono disponibili