PHP 5.6.0 released

sqlite_array_query

SQLiteDatabase::arrayQuery

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

sqlite_array_query -- SQLiteDatabase::arrayQueryEjecutar una consulta en una base de datos dada y devolver un array

Descripción

array sqlite_array_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )
array sqlite_array_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

Estilo orientado a objetos (método):

public array SQLiteDatabase::arrayQuery ( string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = true ]] )

sqlite_array_query() ejecuta la consulta dada y devuelve un array con el conjunto de resultados completo. Es similar a llamar a sqlite_query() y después a sqlite_fetch_array() para cada fila del conjunto de resultados. sqlite_array_query() es significativamente más rápida que la mencionada anteriormente.

Sugerencia

sqlite_array_query() es más apropiada para consultas que devuelven 45 filas o menos. Si se tienen más datos que estos, se recomienda que escriba sus scripts para que usen en su lugar sqlite_unbuffered_query() para un rendimiento más óptimo.

Parámetros

query

La consulta a ejecutar.

La información dentro de la consulta debería ser escapada apropiadamente.

dbhandle

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

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.

decode_binary

Cuando el parámetro decode_binary es seteado a TRUE (el valor por defecto), PHP decodificará la codificación binaria que se aplicó a los datos si éstos fueron codificados usando la función sqlite_escape_string(). Normalmente debería dejar este valor por defecto, a menos que esté interoperando con bases de datos creadas por otras aplicaciones sqlite.

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

Devuelve un array con el conjunto de resultados completo; FALSE de otro modo.

Los nombre de las columnas devueltos por SQLITE_ASSOC y SQLITE_BOTH serán mayúsculas o no de acuerdo al valor de la opción de configuración sqlite.assoc_case.

Ejemplos

Ejemplo #1 Estilo por procedimientos

<?php
$gestor_bd 
sqlite_open('sqlitedb');
$resultado sqlite_array_query($gestor_bd'SELECT name, email FROM users LIMIT 25'SQLITE_ASSOC);
foreach (
$resultado as $entrada) {
    echo 
'Nombre: ' $entrada['name'] . '  E-mail: ' $entrada['email'];
}
?>

Ejemplo #2 Estilo orientado a objetos

<?php
$gestor_bd 
= new SQLiteDatabase('sqlitedb');
$resultado $gestor_bd->arrayQuery('SELECT name, email FROM users LIMIT 25'SQLITE_ASSOC);
foreach (
$resultado as $entrada) {
    echo 
'Nombre: ' $entrada['name'] . '  E-mail: ' $entrada['email'];
}
?>

Ver también

add a note add a note

User Contributed Notes 1 note

up
1
kendlj at NOSPAM dot web dot de
9 years ago
Do not use this code, whenever you may get no result:

<?
$return_data
=@sqlite_array_query($query,$databaseHandle);
if(!
$return_data)
{
  
//Errorhandling code
  
die( sqlite_error_string( sqlite_last_error($this->databaseHandle) ) );
}
?>

It will execute the Errorhandling code although there is no error, cause if there is nothing found, sqlite_array_query returns an empty array, which is interpreted as 'false' here.
You will get an Message like:
'not an error'

Instead use:

<?
$return_data
=@sqlite_array_query($query,$databaseHandle);
if(
$return_data===false)
{
  
//Errorhandling code
}
?>
To Top