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
}
?>
sqlite_array_query
SQLiteDatabase->arrayQuery
(PHP 5, PECL sqlite >= 1.0.0)
sqlite_array_query -- SQLiteDatabase->arrayQuery — Exécute une requête SQL avec SQLite et retourne un tableau
Description
Style orienté objet
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.
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.
- 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
- sqlite_query() - Exécute une requête SQLite et lit le résultat
- sqlite_fetch_array() - Lit la prochaine ligne de résultat SQLite dans un tableau
- sqlite_fetch_string() - Alias de sqlite_fetch_single
sqlite_array_query
18-Apr-2005 11:21
