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, PECL sqlite >= 1.0.0)
sqlite_fetch_all -- SQLiteResult->fetchAll -- SQLiteUnbuffered->fetchAll — Fetches all rows from a result set as an array of arrays
Descripción
Object oriented style (method):
sqlite_fetch_all() returns an array of the entire result set from the result resource. It is similar to calling sqlite_query() (or sqlite_unbuffered_query()) and then sqlite_fetch_array() for each row in the result set.
Parámetros
- result
-
The SQLite result resource. This parameter is not required when using the object-oriented method.
- 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.
Valores devueltos
Returns an array of the remaining rows in a result set. If called right after sqlite_query(), it returns all rows. If called after sqlite_fetch_array(), it returns the rest. If there are no rows in a result set, it returns an empty array.
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
Example #1 Procedural example
<?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'];
}
?>
Example #2 Object-oriented example
<?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'];
}
?>
