The Geek Inside

Julio Carlos Sánchez Blog

Como conectarse a SQLite desde PHP5

A partir de la versión 5, PHP tiene soporte para conectase a una base de datos SQLite de manera nativa, dicho soporte se obtiene pasando las opciones de configuración --with-sqlite y --with-pdo-sqlite al script configure, cuando se está haciendo el ya clásico rito:

  • ./configure
  • make
  • make install

Después de haber compilado PHP con las opciones antes mencionadas, tendremos tres maneras de acceder a una base de datos SQLite:

En este artículo presentaré un ejemplo sencillo accediendo de las diferentes maneras antes mencionadas:

Por medio de funciones:

1
2
3
4
5
6
7
8
9
10
<?php
 if ($db = sqlite_open('test.sqlite', 0666, $sqlite_error)) { 
     sqlite_query($db, 'CREATE TABLE prueba (nombre varchar(10))');
     sqlite_query($db, "INSERT INTO prueba VALUES ('prueba_de_nombre')");
     $resultado = sqlite_query($db, 'select nombre from prueba');
     var_dump(sqlite_fetch_array($resultado)); 
 } else {
     die($sqlite_error);
 }
?>

Por medio de objetos:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$db = new SQLiteDataBase('test.sqlite', 0666, $sqlite_error);
 if ($db != null)
 {
    $db->query('DROP TABLE IF EXISTS prueba');
    $db->query('CREATE TABLE prueba (nombre varchar(10))');
    $db->query("INSERT INTO prueba VALUES ('prueba_de_nombre')");
    $res = $db->query('SELECT nombre FROM prueba');
    var_dump($res->fetch($resultado)); 
 } else {
     die($sqlite_error);
 }
?>

Y por último el acceso por medio de PDO:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$db = new PDO('sqlite:test.sqlite');
if ($db != null)
{
    $db->exec('DROP TABLE IF EXISTS prueba');
    $db->exec('CREATE TABLE prueba (nombre varchar(10))');
    $db->exec("INSERT INTO prueba VALUES ('prueba_de_nombre')");
    $res = $db->query('SELECT nombre FROM prueba');
    var_dump($res->fetch()); 
} else {
    die($sqlite_error);
}
?>

Como pueden ver el acceso a una base de datos SQLite es bastante sencillo, sin embargo cabe destacar que las dos primeras formas sólo dan soporte a la versión 2.x de SQLite, mientras que con PDO nos permite acceder a bases de datos de la versión 3.x.

SQLite también dá soporte a bases de datos on memory, esto se consigue pasando como nombre de archivo “:memory:”.

También podemos pasar en blanco (”") el nombre del archivo con lo cuál conseguiremos que la base de datos se cree en un archivo temporal.

En posteriores artículos mostraré algunos usos de las bases de datos temporales y on memory.

 |  Related posts

No comments yet. Be the first.

Leave a reply

Mexico