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 — Retourne toutes les lignes d'un jeu de résultats en tant que tableau de tableaux
Description
Style orienté objet (méthode) :
Retourne un tableau des lignes restantes dans le jeu de résultats. Si appelée juste après sqlite_query(), elle retourne toutes les lignes. Si appelée après sqlite_fetch_array(), elle retourne le reste. S'il n'y a plus de lignes disponibles dans le jeu de résultats, elle retourne un tableau vide.
Liste de paramètres
- result
-
La ressource de résultat SQLite. Ce paramètre n'est pas requis lorsque vous utilisez la méthode orientée objet.
- result_type
-
Le paramètre optionnel result_type accepte une constante et détermine comment le tableau retourné doit être indexé. L'utilisation de SQLITE_ASSOC retournera uniquement un tableau associatif (nom des champs) tandis que SQLITE_NUM retournera un tableau indexé numériquement (numéro ordinal des champs). SQLITE_BOTH retournera des indices numériques et associatifs. SQLITE_BOTH est la valeur par défaut pour cette fonction.
- decode_binary
-
Lorsque decode_binary vaut TRUE (par défaut), PHP va décoder les données binaires, si elles ont été codées avec la fonction sqlite_escape_string(). Vous allez généralement laisser cette valeur à sa valeur par défaut, à moins que vous ne travailliez avec des bases opérées par d'autres applications.
Valeurs de retour
Retourne un tableau de la ligne courante du jeu de résultats : FALSE si la position courante est au-delà de la dernière ligne.
Les noms de colonnes retournés par SQLITE_ASSOC et SQLITE_BOTH suivent les règles concernant la case définie par l'option de configuration sqlite.assoc_case.
Exemples
Exemple #1 Style procédural
<?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 'Nom : ' . $entry['name'] . ' E-mail : ' . $entry['email'];
}
?>
Exemple #2 Style orienté objet
<?php
$dbhandle = new SQLiteDatabase('sqlitedb');
$query = $dbhandle->query('SELECT name, email FROM users LIMIT 25'); // jeu de résultats bufférisé
$query = $dbhandle->unbufferedQuery('SELECT name, email FROM users LIMIT 25'); // jeu de résultats non bufférisé
$result = $query->fetchAll(SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Nom : ' . $entry['name'] . ' E-mail : ' . $entry['email'];
}
?>
