Sqlite es un motor de base de datos ligero, autonomo y portatil que no requiere un servidor, almacena toda la informacion en un archivo ideal para apps y sitios web pequeños.
La ventaja de usar SQLite es que el archivo database generado se puede mover y respaldar facilmente.
En este ejemplo vamos a ver como usar SQlite con PHP y PDO, una solucion muy interesante ya que apartir de ahora tambien vamos a crear ejemplos de sistemas y apps usando SQLite y PHP.
Algunas ventajas de SQLite:
- Soporta casi todos las consultas SQL estandar
- Es compatible con la mayoria de lenguajes de programacion
- En PHP lo usamos con PDO o con alguna libreria de terceros
- La mayoria de servidores ya tienen activado el SQLite
Vamos a empezar con esta guia donde vamos a hacer las consultas para mostrar datos, agregar, editar y eliminar.
Conectar y Crear la base de datos
Para conectar la base de datos vamos a usar PDO de PHP, el primero archivo es index.php donde se crea la base de datos y se muestran los datos.
La variable $dsn contiene la ubicacion de la base de datos y el nombre del archivo con extension .db, es lo unico que necesitamos para conectarnos a la base de datos SQLite.
<?php
$dsn ="sqlite:./database.db";
try {
$pdo = new PDO($dsn);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
/* Crear la base de datos si no existe */
$sql = "CREATE TABLE IF NOT EXISTS contact (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
phone TEXT NOT NULL UNIQUE
)";
$pdo->exec($sql);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>Para este ejemplo creamos una tabla “contact” que tiene 3 campos, un id como llave primaria, name o nombre para nuestro contacto y un numero de telefono.
Si ejecutamos el archivo como se va a crear la base de datos y se le agregara la tabla, si ocurriera algun error se va a lanzar una exepcion.
Mostrar Datos en SQLite
Para mostrar los datos vamos a usar el comando select * from contact de SQL, que nos va a devolver la lista de contactos que tengamos agregados.
Les voy a poner el fragmento de codigo para el listado, este codigo es parte de un ejemplo mas completo que les voy a dejar para descargar al final del articulo, este es el archivo index.php.
<?php
try {
// Mostrar los contactos
$sql = "SELECT * FROM contact";
$stmt = $pdo->query($sql);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<td>" . htmlspecialchars($row['id']) . "</td>";
echo "<td>" . htmlspecialchars($row['name']) . "</td>";
echo "<td>" . htmlspecialchars($row['phone']) . "</td>";
echo "<td><a href='edit.php?id=" . $row['id'] . "'>Edit</a> | <a href='delete.php?id=" . $row['id'] . "' onclick=\"return confirm('Are you sure?')\">Delete</a></td>";
echo "</tr>";
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>En la tabla del ejemplo completo tambien agregamos los botones para editar y eliminar, opciones que veremos mas abajo.
Agregar o Insertar datos en SQLite
Para agregar o insertar datos primero vamos a hacer un formulario new.php que tenga 2 campos, uno para el nombre y para el telefono, el Id se va a generar automaticamente.
<form action="add.php" method="post">
<label for="name">Nombre:</label>
<input type="text" id="name" name="name" required><br><br>
<label for="phone">Teléfono:</label>
<input type="text" id="phone" name="phone" required><br><br>
<input type="submit" value="Agregar Contacto">
</form>En el formulario hacemos referencia al archivo add.php el cual es el que rebice los datos mediante POST y los va a insertar en la base de datos.
<?php
try {
$dsn = "sqlite:./database.db";
$pdo = new PDO($dsn);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$phone = $_POST["phone"];
// Consulta SQL para insertar un nuevo contacto
$sql = "INSERT INTO contact (name, phone) VALUES (:name, :phone)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':phone', $phone);
$stmt->execute();
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
// Redirigir a la página principal después de agregar el contacto
header("Location: index.php");
?>Al final de la accion de agregar pusimos una redireccion que nos lleva de nuevo a la pagina principal, donde se muestran los datos.
Actualizar Datos en SQLite
Una vez que agregamos los datos, en el listado se va a mostrar un boton de editar, que nos va a llevar a un formulario edit.php ya rellenado con los datos del contacto seleccionado y nos permitira modificar los datos de nombre y telefono.
Para esto primero vamos a consultar la base de datos y vamos a traer solo los datos del Id del contacto seleccionado.
<?php
$id = $_GET['id'];
try {
$dsn = "sqlite:./database.db";
$pdo = new PDO($dsn);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM contact WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$name = $row['name'];
$phone = $row['phone'];
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
?>Ya que tenemos los datos de id, name y phone renderizamos el formulario con estos datos y ahora vamos a hacer referencia al archivo update.php donde se reciben y actualizan los datos.
<form action="update.php" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<label for="name">Nombre:</label>
<input type="text" id="name" name="name" value="<?php echo $name; ?>" required><br><br>
<label for="phone">Teléfono:</label>
<input type="text" id="phone" name="phone" value="<?php echo $phone; ?>" required><br><br>
<input type="submit" value="Actualizar Contacto">
</form>Cuando se ejecute la copion Actualizar contacto nos va a llevar al archivo update.php y una vez procesado nos regresa a index.php
<?php
$id = $_POST['id'];
try {
$dsn = "sqlite:./database.db";
$pdo = new PDO($dsn);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$phone = $_POST["phone"];
// Consulta SQL para actualizar el contacto
$sql = "UPDATE contact SET name = :name, phone = :phone WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':phone', $phone);
$stmt->bindParam(':id', $id);
$stmt->execute();
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
header("Location: index.php");
?>Eliminar Datos en SQLite
Por ultimo temos la opcion de eliminar datos delete.php , esta opcion esta en el listado de los contactos junto al boton editar, al dar click en eliminar se lanzada una ventada de confirmacion y al aceptar se ejecuta delete.php el codigo es el siguiente:
<?php
try {
$dsn = "sqlite:./database.db";
$pdo = new PDO($dsn);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if ($_SERVER["REQUEST_METHOD"] == "GET") {
$id = $_GET["id"];
// Consulta SQL para eliminar el contacto
$sql = "DELETE FROM contact WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->execute();
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
header("Location: index.php");
?>Resultado
Esta solo es una imagen de la tabla donde se muestran los usuarios.

Descargar
A continuacion les dejo el link de descarga.
Link: https://drive.google.com/file/d/1kojlPvWSsEc4OSJCNYK7Cjn8TJv-nBsW/view
Instalacion
Para realizar la instalacion solo tienen que subir los archivos a su servidor o a la carpeta htdocs del xampp y listo.
Con esta guia espero puedan hacer sus aplicaciones en SQLite sin morir en el intento.
Si tienen dudas o requieren asistencia por favor no duden en contactarme.
Toma el control absoluto de tu stock y ventas
Deja de perder dinero por inventarios mal gestionados. Con Inventio Max, centralizas tus productos, ventas y reportes en una sola plataforma robusta y escalable.
Ver Inventio Max: El Sistema de Inventario y Ventas Profesional →