Fonctions SQLiteSQLite
&reftitle.intro;
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 bases 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.
Pour plus d'informations sur SQLite, voyez
le site web &url.sqlite;.
&reftitle.install;
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. Cependant, depuis &php; 5.1.0, vous devez activer manuellement
cette extension dans le &php.ini; (parcequ'il est maintenant inclus en
tant que partagé). De plus, depuis &php; 5.1.0, SQLite dépend de PDO, alors il doit être aussi activé,
en ajoutant les lignes suivantes au &php.ini; (dans l'ordre) :
Sous les systèmes Lunix ou Unix, si vous compilez PDO en tant qu'extension partagée,
vous devez également compilez SQLite en tant qu'extension partagée en utilisant l'option
de configuration --with-sqlite=shared.
SQLite 3 est supportée à travers PDO
SQLite.
Installation sur Windows pour les comptes sans privilèges
Sur les systèmes d'exploitation Windows, les comptes sans privilèges
n'ont pas la variable d'environnement TMP
d'initialisée par défaut. Cela fera créer des fichiers temporaires par
sqlite dans le dossier de windows, ce qui n'est pas voulu. Alors, vous
devriez initialiser la variable d'environnement TMP
pour le serveur web ou dans le compte utilisateur où le serveur web
fonctionne. Si Apache est votre serveur web, vous pouvez accomplir cela
via une directive SetEnv dans votre fichier
&httpd.conf;. Par exemple :
Si vous êtes incapable d'établir cette configuration à ce niveau du
serveur, vous pouvez implémenter cette configuration dans votre script :
La configuration doit référer à un répertoire à l'intérieur duquel le serveur web a la
permission de créer des fichiers et bien sûr d'y écrire et
supprimer les fichiers créés.
Autrement, vous recevrez le message d'erreur suivant :
malformed database schema -
unable to open a temporary database file for storing temporary tables
&reftitle.required;
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;.
&reftitle.resources;
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.
&reference.sqlite.constants;
&reftitle.classes;
SQLiteDatabase
Représente une base de données SQLite ouverte.
&reftitle.constructor;
__construct - construit un nouvel
objet SQLiteDatabase
&reftitle.methods;
query - Exécute une
requêtequeryExec - Exécute une requête de
résultatarrayQuery - Exécute une
requête et retourne les résultats dans un tableausingleQuery - Exécute une
requête et retourne soit un tableau pour une seule colonne, soit la valeur de la
première ligneunbufferedQuery -
Exécute une requête non buffériséelastInsertRowid -
Retourne l'identifiant de la dernière ligne inséréechanges - Retourne le
nombre de lignes modifiées par la dernière requêtecreateAggregate -
Enregistre une UDF agrégeante pour les requêtes SQLitecreateFunction -
Enregistre une fonction utilisateur "classique" UDF pour SQLitebusyTimeout -
Configure ou désactive le délai d'attente d'une base SQLite occupéelastErorr - Retourne
le dernier code erreur de la dernière erreur rencontréefetchColumnTypes -
Retourne un tableau de types de colonnes depuis une table particulièreSQLiteResult
Représente un jeu de résultats SQLite bufférisé.
&reftitle.methods;
fetch - Récupère la ligne
suivante depuis un jeu de résultats en tant que tableaufetchObject - Récupère
la ligne suivante depuis un jeu de résultats en tant qu'objetfetchSingle - Récupère la
première ligne depuis le jeu de résultats en tant que chaîne de caractèresfetchAll - Récupère toutes les
lignes depuis le jeu de résultats en tant que tableau de tableauxcolumn - Récupère une colonne
depuis la ligne courante du jeu de résultatsnumFields - Retourne
le numéro du champ depuis un jeu de résultatsfieldName - Retourne
le nom d'un champ particulier depuis le jeu de résultatscurrent - Récupère la ligne
courante depuis le jeu de résultat en tant que tableaukey - Retourne l'index de la ligne
courantenext - Déplace le pointeur
sur le numéro de ligne suivantevalid - Retourne si oui ou non
il reste des lignes de disponiblesrewind - Déplace le pointeur
sur le numéro de la première ligne d'un jeu de résultatsprev - Déplace le pointeur
sur le numéro de ligne précédent du jeu de résultatshasPrev - Retourne si oui ou
non une ligne précédente est disponiblenumRows - Retourne le
nombre de lignes dans le jeu de résultatsseek - Déplace le pointeur
vers un numéro de ligne précisSQLiteUnbuffered
Représente un jeu de résultats SQLite non-bufférisé. Les jeux de résultats
non-bufférisés sont séquentiels, déplacement du pointeur uniquement vers
le numéro suivant.
&reftitle.methods;
fetch - Récupère
la ligne suivante depuis un jeu de résultats en tant que tableaufetchObject - Récupère
la ligne suivante depuis un jeu de résultats en tant qu'objetfetchSingle - Récupère
la première colonne depuis un jeu de résultats en tant que chaîne de caractèresfetchAll - Récupère toutes les
lignes depuis le jeu de résultats en tant que tableau de tableauxcolumn - Récupère une colonne
depuis la ligne courante d'un jeu de résultatsnumFields - Retourne
le nombre de champs dans le jeu de résultatsfieldName - Retourne le
nom d'un champ en particulier depuis le jeu de résultatscurrent - Récupère la ligne
courante depuis le jeu de résultats en tant que tableaunext - Déplace le pointeur
vers un numéro de ligne suivantvalid - Retourne si oui ou non
il reste des lignes de disponibles
&reference.sqlite.ini;
&reference.sqlite.functions;