sqlite_popen
(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)
sqlite_popen — Ouvre une connexion SQLite persistante et crée la base si elle n'existe pas
Description
$filename
[, int $mode
= 0666
[, string &$error_message
]] )sqlite_popen() fonctionne exactement comme sqlite_open(), hormis le fait qu'elle utilise le mécanisme de ressources persistantes de PHP. Pour des détails sur la signification des paramètres, voyez la fonction sqlite_open().
sqlite_popen() va d'abord vérifier qu'il reste une connexion
persistante déjà ouverte pour le fichier filename
.
Si elle peut en trouver une, elle l'utilisera et, sinon, elle ouvrira une nouvelle connexion.
L'intérêt de cette méthode est que vous évitez de relire la base, les schémas de tables et d'index, pour chaque page exécutée par un serveur web SAPI persistant (tous les SAPI, sauf les CGI et CLI).
Note: Si vous utilisez une connexion persistante et que la base de données est modifiée par un autre processus (via une table de cron, par exemple), et que le processus recrée la base en l'écrasant, soit par effacement et reconstruction, ou par déplacement d'une nouvelle version à la place de l'ancienne, vous pourriez obtenir des comportements inattendus lorsque vous utiliserez une vielle connexion persistante sur une nouvelle base. Pour éviter cette situation, faites en sorte que vos processus parallèles ouvrent les bases et fassent leurs modifications dans une transaction.
Liste de paramètres
-
filename
-
Le nom du fichier de la base de données SQLite. Si le fichier n'existe pas, SQLite tentera de le créer. PHP doit avoir les permissions d'écriture du fichier si des données y sont insérées, le schéma de la base de données est modifié, ou pour créer une base de données si elle n'existe pas.
-
mode
-
Le mode du fichier. Devrait être utilisé pour ouvrir une base de données en mode lecture seule. Actuellement, ce paramètre est ignoré par la bibliothèque sqlite. La valeur par défaut pour le mode est 0666 en octal : c'est la valeur recommandée.
-
error_message
-
Passée par référence et est affectée afin de contenir la description du message d'erreur qui explique pourquoi la base de données ne pouvait pas être ouverte s'il y avait une erreur.
Valeurs de retour
Retourne une ressource (de base de données) en cas de succès, FALSE
en
cas d'erreur.
Voir aussi
- sqlite_open() - Ouvre une base SQLite et la crée si elle n'existe pas
- sqlite_close() - Ferme la connexion à SQLite
- sqlite_factory() - Ouvre une base SQLite et crée un objet pour elle