sqlite_query

SQLiteDatabase::query

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

sqlite_query -- SQLiteDatabase::queryEjecutar una consulta en una base de datos dada y devolver un gestor de resultados

Descripción

sqlite_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] ) : resource
sqlite_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] ) : resource

Estilo orientado a objetos (método):

public SQLiteDatabase::query ( string $query [, int $result_type = SQLITE_BOTH [, string &$error_msg ]] ) : SQLiteResult

Ejecuta una sentencia SQL dada por query en un gestor de base de datos daod.

Parámetros

dbhandle

El recurso de Base de datos de SQLite; devuelto por sqlite_open() cuando se usa procedimentalmente. Este parámetro no es necesario cuando se usa el método orientado a objetos.

query

La consulta a ejectuar.

Los datos dentro de la consulta deberían ser apropiadamente escapados.

result_type

El parámetro opcional result_type acepta una constante y determina cómo se indexará el array devuelto. Usar SQLITE_ASSOC devolverá índices asociativos (los nombres de los campos) mientras que SQLITE_NUM devolverá sólo índices numéricos (los campos en números ordinales). SQLITE_BOTH devolverá índices tanto asociativos como numéricos. SQLITE_BOTH es el valor por defecto para esta función.

error_msg

La variable especificada será rellenada si ocurre un error. Esto es especialmente importante ya que los errores de sintaxis de SQL no se pueden recoger usando la función sqlite_last_error().

Nota: Dos sintaxis alternativas son soportadas para la compatibilidad con otras extensiones de base de datos (tal como MySQL). La forma preferida es la primera, donde el parámetro dbhandle es el primero de la función.

Valores devueltos

Esta función devolverá un gestor de resultados o FALSE en caso de error. Para consultas que devuelven filas, el gestor de resultados se puede usar con funciones como sqlite_fetch_array() y sqlite_seek().

Sin tener en cuenta el tipo de consulta, esta función devolverá FALSE si la consulta falla.

sqlite_query() devuelve un gestor de resultados almacenado en buffer y rasteable. Esto es útil para consultas razonablemente pequeñas donde se necesite la capacidad de acceso a filas aleatorio. Los gestores de resultados almacenados en buffer asignarán memoria para contener el resultado completo y no devolverán hasta que se haya recuperado. Si sólo se necesita acceso secuencial a los datos, se recomienda usar la función con más alto rendimiento sqlite_unbuffered_query() en su lugar.

Historial de cambios

Versión Descripción
5.1.0 Se añadió el parámetro error_msg

Notas

Advertencia

SQLite ejecutará múltiples consultas separadas por puntos y comas, por lo que se puede usar esta función para ejecutar un lote de SQL que se haya cargado desde un fichero o embebido en un script. Sin embargo, esto sólo funcionará cuando el resultado de la función no se use - si se usara, se ejecutaría solamente la primera sentencia SQL. La función sqlite_exec() siempre ejecutará múltiple sentencias SQL.

Cuando se ejecutan múltiples consultas, el valor devuleto por esta función será FALSE si hubiera un error, pero será indefinido de otro modo (podría ser TRUE en caso de éxito o podría devolver un gestor de resultados).

Ver también