sqlite_array_query

SQLiteDatabase::arrayQuery

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

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

Description

sqlite_array_query ( resource $dbhandle , string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array
sqlite_array_query ( string $query , resource $dbhandle [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

Style orienté objet (méthode) :

public SQLiteDatabase::arrayQuery ( string $query [, int $result_type = SQLITE_BOTH [, bool $decode_binary = TRUE ]] ) : array

sqlite_array_query() exécute la requête donnée et retourne un tableau du jeu de résultats entier. Il est équivalent d'appeler sqlite_query() et ensuite sqlite_fetch_array() pour chaque ligne dans le jeu de résultats. sqlite_array_query() est de manière significative plus rapide que les fonctions mentionnées ci-dessus.

Astuce

sqlite_array_query() est plus convenable pour les requêtes retournant 45 lignes ou moins. Si vous attendez plus de données que cela, il est recommandé d'écrire les scripts avec la fonction sqlite_unbuffered_query() pour des performances optimales.

Liste de paramètres

query

La requête qui sera exécutée.

Les données contenues dans la requête doivent être échappées.

dbhandle

La ressource de base de données SQLite; retournée par sqlite_open() lorsqu'utilisée de manière procédurale. Ce paramètre n'est pas requis si 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.

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.

Valeurs de retour

Retourne un tableau du jeu de résultats entier; sinon FALSE

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');
$result sqlite_array_query($dbhandle'SELECT name, email FROM users LIMIT 25'SQLITE_ASSOC);
foreach (
$result as $entry) {
    echo 
'Name: ' $entry['name'] . '  E-mail: ' $entry['email'];
}
?>

Exemple #2 Style orienté objet

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

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
0
kendlj at NOSPAM dot web dot de
19 years ago
Do not use this code, whenever you may get no result:

<?
$return_data
=@sqlite_array_query($query,$databaseHandle);
if(!
$return_data)
{
  
//Errorhandling code
  
die( sqlite_error_string( sqlite_last_error($this->databaseHandle) ) );
}
?>

It will execute the Errorhandling code although there is no error, cause if there is nothing found, sqlite_array_query returns an empty array, which is interpreted as 'false' here.
You will get an Message like:
'not an error'

Instead use:

<?
$return_data
=@sqlite_array_query($query,$databaseHandle);
if(
$return_data===false)
{
  
//Errorhandling code
}
?>
To Top