sqlite_open
sqlite_prev
SQLite Functions
PHP Manual

# sqlite_popen

(PHP 5, PECL sqlite >= 1.0.0)

sqlite_popen — Abre una base de datos de SQLite de forma persistente y la crea si no existía

### Descripción

resource sqlite_popen ( string `$nombre_archivo` [, int `$modo` [, string `&$mensaje_error` ]] )

Esta función se comporta de la misma forma que sqlite_open(), salvo que emplea el mecanismo de persistencia de recursos de PHP. Para más información sobre el significado de los parámetros, consulte la página del manual de la función sqlite_open().

sqlite_popen() comprueba en primer lugar si ya existe un manejador creado para el `nombre_archivo` indicado. Si encuentra uno, devuelve ese manejador al script; en caso contrario, abre una nueva conexión con la base de datos.

La ventaja de esta forma de actuar es que no se penaliza el rendimiento del script debido al proceso de creaión de la conexión con la base de datos, la lectura de su esquema, etc. Si se emplean SAPIs de servidor web que permiten la persistencia, no se tiene que crear una nueva conexión con la base de datos cada vez que se produce un acceso a la página web. (Los SAPIs que no permiten esta persistencia son el CGI y el CLI).

> Note: Si se emplean conexiones persistentes y se utilizan procesos en segundo plano (por ejemplo, con el crontab) que actualizan la base de datos volviendola a crear (debido a una reconstrucción o copiando una versión actualizada machacando la anterior versión) puede que se produzcan comportamientos no deseados con los manejadores que se crearon para la base de datos que ha sido reemplazada. Para solucionar este problema, los procesos en segundo plano deberían abrir la base de datos y realizar sus actualizaciones en una transacción.

### Lista de parámetros

`nombre_archivo`

  El nombre de archivo de la base de datos de SQLite. Si el archivo no existe, SQLite intenta crearlo. PHP debe tener permisos de escritura en el archivo si se van a insertar datos, si el esquema de la base de datos se modifica o si se va a crear la propia base de datos por no existir.

`modo`

  El modo del archivo, que se emplea para abrir la base de datos en modo solo lectura. Actualmente, la librería sqlite ignora este parámetro. El valor por defecto en formato octal es 0666, que además es el valor recomendado.

`mensaje_error`

  Se pasa por referencia y contiene un mensaje de error descriptivo que explica el motivo por el que no se pudo abrir la base de datos.

### Valores retornados

Devuelve un recurso en caso de éxito (que realmente es un manejador de base de datos) o `FALSE` en caso de error.

### Ver también

- sqlite_open() - Abre una base de datos de SQLite y la crea si no existía
- sqlite_close() - Cierra una base de datos SQLite abierta
- sqlite_factory() - Abre una base de datos SQLite y devuelve un objeto SQLiteDatabase

sqlite_open
sqlite_prev
SQLite Functions
PHP Manual