The usage of sqlite_fetch_all should be your choise
(instead the well known practice of "while()" loop)
when unmodified tabledata is prefered.
Example code for a better illustration:
<?php
if ($dbhandle = sqlite_open('mysqlitedb', 0666, $sqliteerror)):
$query = "SELECT x, y FROM sometable LIMIT 3;";
$result = sqlite_query($dbhandle, $query);
// usage with sqlite_fetch_all
$array1 = sqlite_fetch_all($result, SQLITE_ASSOC);
// the "well known practice"
$i = '0';
while ($row = sqlite_fetch_array($result, SQLITE_ASSOC)):
$array2["$i"] = $row;
$i++;
endwhile;
sqlite_close($dbhandle);
endif;
?>
There are no differents within the values of array1 and array2.
Both arrays will be something like:
Array
(
[0] => Array
(
[x] => 22004
[y] => example_data1
)
[1] => Array
(
[x] => 92044
[y] => example_data2
)
[2] => Array
(
[x] => 143060
[y] => example_data3
)
)
If you want to let me know about your comments, feel
free to send me a note via feedback-formular at:
http://www.d0x.de/pages/kontakt.php
sqlite_fetch_all
SQLiteResult::fetchAll
SQLiteUnbuffered::fetchAll
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_fetch_all -- SQLiteResult::fetchAll -- SQLiteUnbuffered::fetchAll — Recupera todas las filas de un conjunto de resultados como un array de arrays
Descripción
$result
[, int $result_type = SQLITE_BOTH
[, bool $decode_binary = true
]] )Estilo orientado a objetos (método):
$result_type = SQLITE_BOTH
[, bool $decode_binary = true
]] )$result_type = SQLITE_BOTH
[, bool $decode_binary = true
]] )
sqlite_fetch_all() devuelve un array del conjunto de resultados
completo desde el recurso result. Es similar a llamar a
sqlite_query() (o a
sqlite_unbuffered_query()) y después a
sqlite_fetch_array() para cada fila del conjunto de resultados.
Parámetros
-
result -
El recurso de resultados de SQLite. Este parámetro no es necesario cuando se usa el método orientado a objetos.
-
result_type -
El parámetro opcional
result_typeacepta una constante y determina cómo se indexará el array devuelto. UsarSQLITE_ASSOCdevolverá índices asociativos (los nombres de los campos) mientras queSQLITE_NUMdevolverá sólo índices numéricos (los campos en números ordinales).SQLITE_BOTHdevolverá índices tanto asociativos como numéricos.SQLITE_BOTHes el valor por defecto para esta función. -
decode_binary -
Cuando el parámetro
decode_binaryes seteado aTRUE(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.
Valores devueltos
Devuelve un array de las filas restantes de un conjunto de resultados. Si se llama justo después de sqlite_query(), devuelve todas las filas. Si se llama después de sqlite_fetch_array(), devuelve el resto. Si no hay filas en el conjunto de resultados, devuelve un array vacío.
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 Ejemplo procedimental
<?php
$dbhandle = sqlite_open('sqlitedb');
$query = sqlite_query($dbhandle, 'SELECT name, email FROM users LIMIT 25');
$result = sqlite_fetch_all($query, SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Name: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>
Ejemplo #2 Ejemplo orientado a objetos
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // buffered result set
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // unbuffered result set
$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Name: ' . $entry['name'] . ' E-mail: ' . $entry['email'];
}
?>
Ver también
- sqlite_fetch_array() - Recupera la siguiente fila de un conjunto de resultados como un array
