Files
doc-fr/reference/sqlite/functions/sqlite-popen.xml
Yannick Torres 3d20fe648b &php; => PHP
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@261459 c90b9560-bf6c-de11-be94-00142212c4b1
2008-06-21 20:51:48 +00:00

133 lines
4.6 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.16 $ -->
<!-- EN-Revision: 1.11 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.sqlite-popen" xmlns="http://docbook.org/ns/docbook">
<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, faites en sorte 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. Actuellement, ce paramètre est ignoré
par la bibliothèque sqlite. La valeur par défaut pour le mode est
<literal>0666</literal> en octal : c'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
-->