PDO_SQLITE DSN

(PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSNConectar a las bases de datos de SQLite

Descripción

El Nombre de la Fuente de Datos de PDO_SQLITE (DSN, siglas en inglés de Data Source Name) está compuesto de los siguientes elementos:

Prefijo DSN (SQLite 3)

El prefijo DSN es sqlite:.

  • Para acceder a una base de datos almacenada en disco, se añade al final del prefijo la ruta absoluta.

  • Para crear una base de datos almacenada en memoria, se añade al final del prefijo :memory:.

Prefijo DSN (SQLite 2)

La extensión SQLite de PHP 5.1 proporciona un controlador PDO que soporta el acceso y la creación de bases de datos de SQLite 2. Esto permite acceder a bases de datos que se pueden tener creadas con la extensión SQLite de versiones anteriores de PHP.

Nota:

El controlador sqlite2 está disponible solamente en PHP 5.1.x si se tienen habilitadas ambas extensiones: PDO y sqlite. Actualmente no está disponible mediante PECL.

El prefijo DSN para conectarse las bases de datos de SQLite 2 es sqlite2:.

  • Para acceder a una base de datos almacenada en disco, se añade al final del prefijo la ruta absoluta.

  • Para crear una base de datos almacenada en memoria, se añade al final del prefijo :memory:.

Ejemplos

Ejemplo #1 Ejemplos de PDO_SQLITE DSN

Los siguientes ejemplos muestran el uso de PDO_SQLITE DSN para conectarse a bases de datos de SQLite:

sqlite:/opt/databases/midb.sq3
sqlite::memory:
sqlite2:/opt/databases/midb.sq2
sqlite2::memory:

add a note add a note

User Contributed Notes 4 notes

up
7
frederic dot glorieux at diple dot net
2 years ago
In memory sqlite has some limitations. The memory space could be the request, the session, but no way seems documented to share a base in memory among users.

For a request, open your base with the code
$pdo = new PDO( 'sqlite::memory:');
and your base will disapear on next request.

For session persistency
<?php
$pdo
= new PDO(
   
'sqlite::memory:',
   
null,
   
null,
    array(
PDO::ATTR_PERSISTENT => true)
);
?>
up
2
Fatmoon
5 years ago
It seems that the directory that contains your sqlite database must be writeable by the web server. Making just the file writeable won't work.
up
1
rick
7 years ago
Don't forget "extension=php_pdo_sqlite.dll" has to be enabled in php.ini (if you use xampp is will be disabled by default) .
up
2
FST777
5 years ago
@ Fatmoon
That is correct. SQLite sometimes uses additional files in the same folder while writing to the DB. These files can sometimes be seen and usually contain the name of your DB and the word 'journal' in their filename.
Security wise, it might be a good idea to store the SQLite databases in a seperate folder to shield the rest from user www.
To Top