sqlite_popen
Ouvre une connexion SQlite persistante et crée la base si elle n'existe pas
&reftitle.description;
resourcesqlite_popen
stringfilename
intmode
stringerror_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).
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, faîtes que vos processus parallèles ouvrent
les bases et fassent leurs modifications dans une transaction.
&reftitle.parameters;
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. Présentement, ce paramètre est ignoré
par la bibliothèque sqlite. La valeur par défaut pour le mode est
0666 en octal et cela 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.
&reftitle.returnvalues;
Retourne une ressource (de base de données) en cas de succès, &false; en
cas d'erreur.
&reftitle.seealso;
sqlite_open
sqlite_close
sqlite_factory