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().