PHP Velho Oeste 2024

sqlite_fetch_all

SQLiteResult::fetchAll

SQLiteUnbuffered::fetchAll

(PHP 5 < 5.4.0, 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

sqlite_fetch_all ( resource $result [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

Style orienté objet (méthode) :

SQLiteResult::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array
SQLiteUnbuffered::fetchAll ([ int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

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($querySQLITE_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'];
}
?>

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
1
19 years ago
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
To Top