PHP5 y sqlite a través de PDO en Windows

PHP5 desde la versión 5.1 en adelante integra el soporte para sqlite. Con PDO PHP5 puede manejar bases de datos sqlite3. Hagamos una pequeña prueba.

Lo primero bajar sqlite3 y crear una base de datos mediante sqlite3 prueba.db, luego ejecutar algún comando SQL para poblarla.

Ahora bien el siguiente paso es el más complejo por no estar aun lo suficientemente documentado, pero es muy sencillo. Para que funcione sqlite en PHP en especial sqlite3 hay que usar PDO, por lo que en el archivo php.ini descomentar php_pdo.dll y luego php_pdo_sqlite.dll, quedando primero siempre php_pdo.dll. Reiniciar el servidor web de turno, en este caso lighttpd. No descomentar php_sqlite.dll.

Es común obtener este error al tratar de acceder a una base de datos sqlite. Esto ocurre porque sqlite_open se usa para sqlite2.

Fatal error: Call to undefined function sqlite_open()

Y para sqlite3 se usa PDO.

Aquí un ejemplo de como acceder a una base de datos sqlite3 con PHP5 mediante PDO:

$db = new PDO(‘sqlite:prueba.db’);
$result = $db->query(«SELECT * FROM sqlite_master WHERE type=’table’ AND name=’fotologs'»);
$oo = $result->fetchAll();
print_r($oo);

La salida sería algo así:
Array ( [0] => Array ( [type] => table [0] => table [name] => fotologs [1] => fotologs [tbl_name] => fotologs [2] => fotologs [rootpage] => 2 [3] => 2 => CREATE TABLE fotologs ( user VARCHAR(60), ID_tipos TINYINT, desc TEXT ) [4] => CREATE TABLE fotologs ( user VARCHAR(60), ID_tipos TINYINT, desc TEXT ) ) )

Como usar PDO, eso está en los manuales en www.php.net
Es lo mismo para Linux sólo hay que cambiar .dll por .so

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.