sqlite_popen

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_popen Abrir un gestor persistente a una base de datos SQLite y crearla si no existe

Descripción

sqlite_popen ( string $filename [, int $mode = 0666 [, string &$error_message ]] ) : resource

Esta función se comporta de manera idéntica a sqlite_open() excepto que usa el mecanismo de recurso persistente de PHP. Para más información sobre el significado de los parámetros, lea la página del manual de sqlite_open().

sqlite_popen() primero comprobará si ya está abierto un gestor persistente para el fichero dado por filename. Si encuentra uno, devuelve ese gestor al script, si no, abre un gestor nuevo a la base de datos.

El beneficio de este enfoque es que no se sufre el coste de rendimiento de releer la base de datos y el esquema índice en cada página servida por una SAPI del servidor web persistente (cualquier SAPI excepto CGI o CLI normales).

Nota: Si se usan gestores persistentes y se tiene la base de datos actualizada por un proceso en segundo plano (quizás mediante un crontab), y ese proceso recrea la base de datos sobrescribiéndola (mediante desenlazando y reconstruyendo, o moviendo la versión actualizada para reemplazar la versión actual), se puede experimentar un comportamiento indefinido cuando un gestor persistente de la versión antigua de la base de datos es reciclado. Para evitar esta situación se han de tener los procesos en segundo plano con la misma base de datos abierta y realizar sus actualizaciones en una transacción.

Parámetros

filename

El nombre de fichero de la base de datos SQLite. Si el fichero no existe, SQLite intentará crearlo. PHP debe tener permisos de escritura al fichero si los datos son insertados, el esquema de la base de datos se modifica o se crea la base de datos si no existe.

mode

El modo del fichero. Previsto para abrir la base de datos en modo sólo lectura. Actualmente, este parámetro es ignorado por la biblioteca sqlite. El valor predeterminado para el modo es el valor octal 0666, que es el valor recomendado.

error_message

Pasado por referencia y establecido para contener un mensaje de error descriptivo explicando el por qué la base de datos no pudo abrirse si ocurrió un error.

Valores devueltos

Devuelve un recurso (gestor de base de datos) en caso de éxito, FALSE en caso de error.

Ver también

  • sqlite_open() - Abrir una base de datos SQLite y crear la base de datos si no existe
  • sqlite_close() - Cierra un base de datos SQLite abierta
  • sqlite_factory() - Abrir una base de datos SQLite y devolver un objeto SQLiteDatabase