Cette extension fait l'interface avec le moteur de base SQLite Embeddable SQL Database Engine. SQLite est une bibliothèque C qui implémente un moteur de base de données SQL embarqué. Les programmes qui utilisent SQLite peuvent disposer d'un accès à une base de données SQL, sans avoir à faire tourner d'autre processus serveur.
SQLite n'est pas un logiciel client pour se connecter à un grand nom des bases de données. SQLite est le serveur. La bibliothèque SQLite lit et écrit directement dans les fichiers de bases de données sur le disque.
Note : Pour plus d'informations sur SQLite, voyez le site web http://sqlite.org/.
Lisez le fichier d'installation, qui est fourni avec la distribution. Ou bien, utilisez simplement l'installeur PEAR : pear install sqlite. SQLite est déjà fourni avec PHP et vous n'avez pas besoin de télécharger d'autres logiciels.
Les utilisateurs de Windows peuvent télécharger la version DLL de l'extension SQLite ici : php_sqlite.dll.
Dans la version 5 de PHP, l'extension SQLite ainsi que le moteur sont intégrés et compilés par défaut.
Afin de disposer de ces fonctions, vous devez compiler PHP avec le support SQLite, ou charger dynamiquement l'extension SQLite depuis votre fichier php.ini.
Il y a deux ressources, utilisées par l'extension SQLite. La première est une connexion à la base et la seconde est un résultat de requête.
Les fonctions sqlite_fetch_array() et sqlite_current() utilisent des constantes pour spécifier les différents types de résultats. Les constantes sont les suivantes :
Tableau 1. Constantes SQLite
Constante | Signification |
---|---|
SQLITE_ASSOC | Les colonnes sont retournées dans le tableau, en utilisant le nom de la colonne comme nom d'index. |
SQLITE_BOTH | Les colonnes sont retournées dans le tableau, en utilisant simultanément le nom de la colonne comme nom d'index et un index numérique. |
SQLITE_NUM | Les colonnes sont retournées dans le tableau, en utilisant une indexation numérique. L'index commence à 0, pour identifier le premier champ. |
Représente une base de données SQLite ouverte.
__construct - construit un nouvel objet SQLiteDatabase
query - Exécute une requête
queryExec - Exécute une requête de résultat
arrayQuery - Exécute une requête et retourne les résultats dans un tableau
singleQuery - Exécute une requête et retourne soit un tableau pour une seule colonne, soit la valeur de la première ligne
unbufferedQuery - Exécute une requête non bufferisée
lastInsertRowid - Retourne l'identifiant de la dernière ligne insérée
changes - Retourne le nombre de lignes modifiées par la dernière requête
createAggregate - Enregistre une UDF agregeante pour les requêtes SQLite
createFunction - Enregistre une fonction utilisateur "classique" UDF pour SQLite
busyTimeout - Configure ou désactive le délai d'attente d'une base SQLite occupée
lastErorr - Retourne le dernier code erreur de la dernière erreur rencontrée
fetchColumnTypes - Retourne un tableau de types de colonnes depuis une table particulière
Représente un jeu de résultats SQLite bufferisé.
fetch - Récupère la ligne suivante depuis un jeu de résultats en tant que tableau
fetchObject - Récupère la ligne suivant depuis un jeu de résultat en tant qu'objet
fetchSingle - Récupère la première ligne depuis le jeu de résultats en tant que chaîne de caractères
fetchAll - Récupère toutes les lignes depuis le jeu de résultats en tant que tableau de tableaux
column - Récupère une colonne depuis la ligne courante du jeu de résultats
numFields - Retourne le numéro du champs depuis un jeu de résultats
fieldName - Retourne le nom d'un champs particulier depuis le jeu de résultats
current - Récupère la ligne courante depuis le jeu de résultat en tant que tableau
key - Retourne l'index de la ligne courante
next - Déplace le pointeur sur le numéro de ligne suivante
valid - Retourne si oui ou non il reste des lignes de disponibles
rewind - Déplace le pointeur sur le numéro de la première ligne d'un jeu de résults
prev - Déplace le pointeur sur le numéro de ligne précédent du jeu de résultats
hasPrev - Retourne si oui ou non une ligne précédente est disponible
numRows - Retourne le nombre de lignes dans le jeu de résultats
seek - Déplace le pointeur vers un numéro de lignes précis
Représente un jeu de résultats SQLite non-bufferisé. Les jeux de résultats non-bufferisés sont séquentiels, déplacement du pointeur uniquement vers le numéro suivant.
fetch - Récupère la ligne suivante depuis un jeu de résultats en tant que tableau
fetchObject - Récupère la ligne suivante depuis un jeu de résultats en tant qu'objet
fetchSingle - Récupère la première colonne depuis un jeu de résultats en tant que chaîne de caractères
fetchAll - Récupère toutes les lignes depuis le jeu de résultats en tant que tableau de tableaux
column - Récupère une colonne depuis la ligne courante d'un jeu de résultats
numFields - Retourne le nombre de champs dans le jeu de résultats
fieldName - Retourne le nom d'un champs en particulier depuis le jeu de résultats
current - Récupère la ligne courante depuis le jeu de résultats en tant que tableau
next - Déplace le pointeur vers un numéro de ligne suivant
valid - Retourne si oui ou non il reste des lignes de disponibles
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à ini_set().
Voici un éclaircissement sur l'utilisation des directives de configuration.
Utilise des index à casse libre (0), majuscule (1) ou minuscule (2).
Cette option sert principalement lorsque vous avez besoin de la compatibilité avec d'autres systèmes de bases de données, où les noms des colonnes sont toujours retournés en majuscule ou en minuscule, indépendamment de la casse réelle de la colonne dans la base.
La bibliothèque SQLite retourne le nom de la colonne sans y toucher (c'est la casse qui sera utilisée dans votre base). Lorsque sqlite.assoc_case vaut 0 cette casse sera conservée. Lorsque cette option vaut 1 ou 2, PHP va modifier la casse des noms, et mettre le nom de la colonne respectivement en majuscules ou minuscules.
Utiliser cette option implique une légère perte de performances, mais c'est BEAUCOUP plus rapide que de faire la gestion des caractères vous-même.
Précédent | Sommaire | Suivant |
spl_classes | Niveau supérieur | sqlite_array_query |