As of July 2010, there are two ways to use SQLite from PHP:
- procedural: sqlite (=sqlite2), sqlite3
- object-oriented: SQLite3, PDO
SQLite
- Introduzione
- Installazione/Configurazione
- Costanti predefinite
- SQLite Funzioni
- 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 colonna 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 un array
- sqlite_error_string — Restituisce la descrizione testuale di un codice di errore
- sqlite_escape_string — Inserisce il carattere di escape in una stringa da utilizzare 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 un array di array
- sqlite_fetch_array — Scarica in un array la riga successiva da un set di risultati
- sqlite_fetch_column_types — Restituisce un array con il tipo delle colonne di una tabella
- sqlite_fetch_object — Scarica i dati della riga successiva da un set di risultati 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 un array 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
Anonymous ¶
2 years ago
nosdudefr at gmail dot com ¶
2 years ago
Regarding the table creation you can optimize this code a bit by using the built in " CREATE TABLE IF NOT EXISTS <tablename>". This will let the table creation decision to the sqlite engine.
Then, if i may, your code could be something like :
<?php
if ($db = new SQLiteDatabase('filename')) {
// first let the engine check table, and create it eventualy
$q = @$db->query('CREATE TABLE IF NOT EXISTS tablename (id int, requests int, PRIMARY KEY (id))';
//the rest of the code, according error checks etc
// ...
?>
For more "tweaks" feel free to look at sqlite language ref : http://www.sqlite.org/lang_createtable.html
Have fun with this powerfull&simple engine :)
Andrew Paul Dickey ¶
3 years ago
If you intend to implement 2.x releases of SQLite with your development you are in the right place, as this library is suitable for use with your application (reference http://us.php.net/manual/en/book.sqlite.php).
If you intend to use SQLite 3.x releases of SQLite with your development please refer to the section on PHP Data Objects, and specifically the PDO-SQLite implementation available at(references: http://us.php.net/manual/en/book.pdo.php , http://au2.php.net/manual/en/ref.pdo-sqlite.php).
It is my hope that this post will save both new users and experienced developers time during their initial or a new implementation of PHP & SQLite by encouraging them to use the appropriate libraries.
saivert at saivert dot com ¶
5 years ago
How to open a database, create a table if it doesn't exist and inserting initial value.
<?php
if ($db = new SQLiteDatabase('filename')) {
$q = @$db->query('SELECT requests FROM tablename WHERE id = 1');
if ($q === false) {
$db->queryExec('CREATE TABLE tablename (id int, requests int, PRIMARY KEY (id)); INSERT INTO tablename VALUES (1,1)');
$hits = 1;
} else {
$result = $q->fetchSingle();
$hits = $result+1;
}
$db->queryExec("UPDATE tablename SET requests = '$hits' WHERE id = 1");
} else {
die($err);
}
?>
Use this as boilerplate code for any new project using SQLite.
