Forum und email

sqlite_popen

(PHP 5, PECL sqlite:1.0-1.0.3)

sqlite_popen — Ouvre une connexion SQlite persistante et crée la base si elle n'existe pas

Description

resource sqlite_popen ( string $filename [, int $mode [, 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.