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.
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. 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) :
extension=php_pdo.dll
extension=php_sqlite.dll
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.
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 :
SetEnv TMP c:/temp
Si vous êtes incapable d'établir cette configuration à ce niveau du
serveur, vous pouvez implémenter cette configuration dans votre script :
putenv('TMP=C:/temp');
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
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.
Ces constantes sont définies par cette
extension, et ne sont disponibles que si cette extension a été compilée avec
PHP, ou bien chargée au moment de l'exécution.
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 :
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.
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.
Table des matières
sqlite_array_query --
Exécute une requête SQL avec SQLite et retourne un tableau
sqlite_busy_timeout -- Configure le délai d'attente d'une base SQLite occupée
sqlite_changes --
Retourne le nombre de lignes qui ont été modifiées
par la dernière requête SQLite