Manuel PHP
Précédent |  | Suivant

# sqlite_array_query

(PHP 5)

sqlite_array_query

(no version information, might be only in CVS)

SQLiteDatabase->arrayQuery -- Exécute une requête SQL avec SQLite et retourne un tableau

## Description

array sqlite_array_query ( resource dbhandle, string query [, int result_type [, bool decode_binary]] )
array sqlite_array_query ( string query, resource dbhandle [, int result_type [, bool decode_binary]] )

Style orienté objet (méthode)

class SQLiteDatabase {
array arrayQuery ( string query [, int result_type [, bool decode_binary]] )
}

sqlite_array_query() est similaire à sqlite_query() suivi de sqlite_fetch_array() pour chaque ligne de résultat, et en les plaçant dans un tableau. Appeler sqlite_array_query() est plus rapide que de programmer cette séquence dans un script PHP.

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.

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.

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 travaillez avec des bases opérées par d'autres applications.

Exemple 1. sqlite_array_query() traditionnel

`<?php $q = sqlite_query($dbhandle, "SELECT name, email FROM users LIMIT 25"); $rows = array(); while ($r = sqlite_fetch_array($q)) { $rows[] = $r; } ?>`

Exemple 2. Exemple avec sqlite_array_query()

`<?php
$dbhandle = sqlite_open('sqlitedb');
$result = sqlite_array_query($dbhandle, 'SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Nom : ' . $entry['name'] . ' E-mail : ' . $entry['email'];
}
/* Exemple OO */
$dbhandle = new SQLiteDatabase('sqlitedb');
$result = $dbhandle->arrayQuery('SELECT name, email FROM users LIMIT 25', SQLITE_ASSOC);
foreach ($result as $entry) {
echo 'Nom : ' . $entry['name'] . ' E-mail : ' . $entry['email'];
}
?>`

> Astuce : sqlite_array_query() est bien adapté pour des requêtes qui retournent jusqu'à 45 lignes. Si vous avez plus de données, il est recommandé d'utiliser sqlite_unbuffered_query() pour optimiser les performances.

> Note : Deux syntaxes alternatives sont supportées pour assurer la compatibilité avec les autres bases de données (telles que MySQL) : La forme recommandée est la première, où le paramètre dbhandle est le premier dans la fonction.

Voir aussi sqlite_query(), sqlite_fetch_array() et sqlite_fetch_string().

Précédent | Sommaire | Suivant
Fonctions SQLite | Niveau supérieur | sqlite_busy_timeout