Files
doc-fr/reference/sqlite/functions/sqlite-popen.xml
Jean-Sébastien Goupil 6f5ac4d5da sync with EN
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@187246 c90b9560-bf6c-de11-be94-00142212c4b1
2005-05-29 19:24:44 +00:00

131 lines
4.5 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.11 $ -->
<!-- EN-Revision: 1.10 Maintainer: jsgoupil Status: ready -->
<refentry id="function.sqlite-popen">
<refnamediv>
<refname>sqlite_popen</refname>
<refpurpose>
Ouvre une connexion SQlite persistante et crée la base si elle n'existe pas</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>sqlite_popen</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter role="reference">error_message</parameter></methodparam>
</methodsynopsis>
<simpara>
<function>sqlite_popen</function> fonctionne exactement comme
<function>sqlite_open</function>, 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 <function>sqlite_open</function>.
</simpara>
<para>
<function>sqlite_popen</function> va d'abord vérifier qu'il reste une connexion
persistante déjà ouverte pour le fichier <parameter>filename</parameter>.
Si elle peut en trouver une, elle l'utilisera, et sinon, elle ouvrira une nouvelle connexion.
</para>
<para>
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).
</para>
<note>
<simpara>
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.
</simpara>
<simpara>
Pour éviter cette situation, faîtes que vos processus parallèles ouvrent
les bases et fassent leurs modifications dans une transaction.
</simpara>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
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
<literal>0666</literal> en octal et cela est la valeur recommandée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>error_message</parameter></term>
<listitem>
<para>
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.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne une ressource (de base de données) en cas de succès, &false; en
cas d'erreur.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sqlite_open</function></member>
<member><function>sqlite_close</function></member>
<member><function>sqlite_factory</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->