As of July 2010, there are two ways to use SQLite from PHP:
- procedural: sqlite (=sqlite2), sqlite3
- object-oriented: SQLite3, PDO
SQLite
- Introducción
- Instalación/Configuración
- Constantes predefinidas
- SQLite Funciones
- sqlite_array_query — Ejecutar una consulta en una base de datos dada y devolver un array
- sqlite_busy_timeout — Establecer la duración del tiempo de espera de ocupación, o deshabilitar los gestores ocupados
- sqlite_changes — Devuelve el número de filas que han sido cambiadas mediante la sentencia SQL más reciente.
- sqlite_close — Cierra un base de datos SQLite abierta
- sqlite_column — Obtiene una columna de la fila actual de un conjunto de resultados
- sqlite_create_aggregate — Registrar FDU totalizadora para usarla en sentencias SQL
- sqlite_create_function — Registra una función "regular" definida por el usuario para ser usada en sentencias SQL
- sqlite_current — Obtiene la fila actual como un array de un conjunto de resultado
- sqlite_error_string — Devuelve la descripción de un código de error
- sqlite_escape_string — Escapa una cadena para ser usada como un parámetro para una consulta
- sqlite_exec — Ejecutar una consulta sin resultado en una base de datos dada
- sqlite_factory — Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase
- sqlite_fetch_all — Recupera todas las filas de un conjunto de resultados como un array de arrays
- sqlite_fetch_array — Recupera la siguiente fila de un conjunto de resultados como un array
- sqlite_fetch_column_types — Devuelve un array con los tipos de columna de una tabla en particular
- sqlite_fetch_object — Recupera la siguiente fila de un conjunto de resultados como un objeto
- sqlite_fetch_single — Recupera la primera columna de un conjunto de resultados como cadena
- sqlite_fetch_string — Alias de sqlite_fetch_single
- sqlite_field_name — Devuelve el nombre de un campo en particular
- sqlite_has_more — Comprueba si están o no disponibles más filas
- sqlite_has_prev — Comprueba si está o no disponible una fila anterior
- sqlite_key — Devuelve el índice de la fila actual
- sqlite_last_error — Devuelve el código de error del último error de una base de datos
- sqlite_last_insert_rowid — Devuelve el ID fila de la fila insertada más recientemente
- sqlite_libencoding — Devuelve la codificación de la biblioteca SQLite vinculada
- sqlite_libversion — Devuelve la versión de la biblioteca SQLite vinculada
- sqlite_next — Busca el número de fila siguiente
- sqlite_num_fields — Devolver el número de campos de un conjunto de resultados
- sqlite_num_rows — Devolver el número de filas de un conjunto de resultados almacenado en buffer
- sqlite_open — Abrir una base de datos SQLite y crear la base de datos si no existe
- sqlite_popen — Abrir un gestor persistente a una base de datos SQLite y crearla si no existe
- sqlite_prev — Busca el número de fila anterior de un conjunto de resultados
- sqlite_query — Ejecutar una consulta en una base de datos dada y devolver un gestor de resultados
- sqlite_rewind — Busca el primer número de fila
- sqlite_seek — Busca un número de fila en particular en un conjunto de resultados almacenado en buffer
- sqlite_single_query — Ejecuta una consulta y devuelve un array para cada colúmna única o el valor de la primera fila
- sqlite_udf_decode_binary — Decodificar datos binarios pasados como parámetros a una FDU
- sqlite_udf_encode_binary — Codificar datos binarios antes de devolverlos desde una UDF
- sqlite_unbuffered_query — Ejecutar una consulta que no precargue ni almacene en buffer toda la información
- sqlite_valid — Devuelve si están disponibles más filas
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.
