Files
doc-fr/reference/pgsql/functions/pg-prepare.xml
Jean-Sébastien Goupil dbc6bcbf81 adding new files
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@184774 c90b9560-bf6c-de11-be94-00142212c4b1
2005-04-20 18:44:49 +00:00

166 lines
5.6 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.4 Maintainer: jsgoupil Status: ready -->
<!-- Reviewed: no -->
<refentry id="function.pg-prepare">
<refnamediv>
<refname>pg_prepare</refname>
<refpurpose>
Envoie une requête pour créer une requête préparée avec les paramètres
donnés et attend l'exécution
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>pg_prepare</methodname>
<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>stmtname</parameter></methodparam>
<methodparam><type>string</type><parameter>query</parameter></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>resource</type><methodname>pg_prepare</methodname>
<methodparam><type>string</type><parameter>stmtname</parameter></methodparam>
<methodparam><type>string</type><parameter>query</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_prepare</function> crée une requête préparée pour une
exécution ultérieure avec <function>pg_execute</function> ou
<function>pg_send_execute</function>.
Cette caractéristique permet aux commandes qui seront utilisées à
plusieurs reprises d'être analysées et planifiées qu'une seule fois,
plutôt que d'être exécutées chaque fois.
<function>pg_prepare</function> est supportée seulement avec les versions
PostgreSQL 7.4 ou plus récentes; la commande échouera si vous l'utilisez
avec des versions antérieures.
</para>
<para>
La fonction crée une requête préparée nommée
<parameter>stmtname</parameter> à partir de la chaîne
<parameter>query</parameter>, celle-ci doit contenir qu'une seule commande
SQL. <parameter>stmtname</parameter> peut être vide ("") pour créer une
requête qui n'est pas nommée. Dans ce cas, les requêtes qui existaient et
qui se trouvaient sans noms sont automatiquement remplacées; autrement, il y
aura une erreur si le nom de la requête est déjà défini dans la session
courante. Si des paramètres sont utilisés, ils sont référés à $1, $2, etc.
dans <parameter>query</parameter>.
</para>
<para>
Des requêtes préparées à utiliser avec <function>pg_prepare</function>
peuvent être aussi créées en exécutant la requête SQL
<literal>PREPARE</literal>. (Par contre, <function>pg_prepare</function>
est plus flexible puisqu'elle ne nécessite pas que les types des paramètres
soit pré-spécifiés.) De plus, bien qu'il n'y a pas de fonction &php; pour
supprimer une requête préparée, la requête SQL
<literal>DEALLOCATE</literal> peut être utilisé pour ce motif.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
<para>
La ressource de connexion de la base de données PostgreSQL. Lorsque
<parameter>connection</parameter> n'est pas présent, la connexion par
défaut est utilisée. La connexion par défaut est la dernière connexion
faite par <function>pg_connect</function> ou <function>pg_pconnect</function>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>stmtname</parameter></term>
<listitem>
<para>
Le nom à donner à la requête préparée. Il doit être unique à chaque
session. Si une chaîne vide est spécifiée ("") alors une requête sans
nom est créée, écrasant les requêtes sans noms précédemment définies.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>query</parameter></term>
<listitem>
<para>
La requête SQL paramétrisée. Elle doit contenir seulement une seule
requête. (Plusieurs requêtes séparées par des points-virgules ne sont
pas autorisées.) Si des paramètres sont utilisés, ils sont référés à
$1, $2, etc.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Une ressource de résultats en cas de succès ou &false; en cas d'échec.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>pg_prepare</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Connexion à une base de données nommée "marie"
$dbconn = pg_connect("dbname=marie");
// Prépare une requête pour l'exécution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM magasins WHERE nom = $1');
// Exécute la requête préparée. Notez qu'il n'est pas nécessaire d'échapper
// la chaîne "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Exécute la même requête préparée, cette fois avec un paramètre différent
$result = pg_execute($dbconn, "my_query", array("Vêtements Vêtements Vêtements"));
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_execute</function></member>
<member><function>pg_send_execute</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
indent-tabs-mode:nil
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
-->