Files
doc-fr/reference/cubrid/functions/cubrid-execute.xml
2021-07-27 19:08:22 +03:00

209 lines
7.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 648875cf73af01acdb6afaa5ca38b0bf6631bf42 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.cubrid-execute" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>cubrid_execute</refname>
<refpurpose>Exécute une requête SQL préparée</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>cubrid_execute</methodname>
<methodparam><type>resource</type><parameter>conn_identifier</parameter></methodparam>
<methodparam><type>string</type><parameter>sql</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>option</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<methodsynopsis>
<type>bool</type><methodname>cubrid_execute</methodname>
<methodparam><type>resource</type><parameter>request_identifier</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>option</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
La fonction <function>cubrid_execute</function> est utilisée pour exécuter
une requête SQL. Elle exécute la requête en utilisant le paramètre
<parameter>conn_identifier</parameter> et SQL, puis, retourne l'identifiant
de requête créé. Elle est utilisée pour une exécution simple de requête,
où le liage de paramètre n'est pas nécessaire. De plus, la fonction
<function>cubrid_execute</function> est utilisée pour exécuter la requête
préparée en utilisant <function>cubrid_prepare</function> et <function>cubrid_bind</function>.
À ce point, vous devez spécifier les arguments
<parameter>request_identifier</parameter> et <parameter>option</parameter>.
</para>
<para>
L'<parameter>option</parameter> est utilisé pour déterminer si l'on doit
récupérer l'IOD après l'exécution de la requête, et si l'on doit exécuter
la requête en mode asynchrone ou non. <constant>CUBRID_INCLUDE_OID</constant> et <constant>CUBRID_ASYNC</constant>
(ou <constant>CUBRID_EXEC_QUERY_ALL</constant> si vous voulez exécuter plusieurs requêtes SQL)
peuvent être spécifiés en utilisant l'opérateur OR. Si l'opérateur n'est
pas spécifié, aucun des deux ne sera sélectionné. Si le drapeau
<constant>CUBRID_EXEC_QUERY_ALL</constant> est défini, le mode synchrone (sync_mode) sera
utilisé pour récupérer les résultats de la requête, et dans un tel cas,
les règles suivantes seront appliquées :
</para>
<para>
<simplelist>
<member>La valeur retournée sera le résultat de la première requête.</member>
<member>
Si une erreur survient dans une des requêtes, l'exécution sera vu comme
étant un échec.
</member>
<member>
Pour une requête composée de q1 q2 et q3, si une erreur survient dans q2
alors que q1 a été exécutée avec succès, le résultat de q1 reste valide.
Ainsi, l'exécution avec succès d'une précédente requête ne sera pas annulée
lorsqu'une erreur survient.
</member>
<member>
Si une requête est exécutée avec succès, le résultat de la seconde requête
peut être obtenu en utilisant la fonction <function>cubrid_next_result</function>.
</member>
</simplelist>
</para>
<para>
Si le premier paramètre est <parameter>request_identifier</parameter> pour
exécuter la fonction <function>cubrid_prepare</function>, vous pouvez spécifier
une option, <constant>CUBRID_ASYNC</constant> uniquement.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>conn_identifier</parameter></term>
<listitem><para>Identifiant de connexion.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>sql</parameter></term>
<listitem><para>SQL à exécuter.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>option</parameter></term>
<listitem><para>Option d'exécution de la requête : <constant>CUBRID_INCLUDE_OID</constant>, <constant>CUBRID_ASYNC</constant>, <constant>CUBRID_EXEC_QUERY_ALL</constant>.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>request_identifier</parameter></term>
<listitem><para>Identifiant de requête pour la fonction <function>cubrid_prepare</function>.</para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un identifiant de requête, lorsque l'opération a été réalisée avec succès et
que le premier paramètre est l'identifiant de connexion ; &true;, lorsque
l'opération a été réalisée avec succès et que le premier paramètre est
l'identifiant de requête,&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Ajout d'une nouvelle option : <constant>CUBRID_EXEC_QUERY_ALL</constant>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Exemple avec <function>cubrid_execute</function></title>
<programlisting role="php">
<![CDATA[
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];
cubrid_close_request($result);
$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);
printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
printf("%-20s %-9s %-10s %-5s\n",
$row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}
cubrid_close_request($history_req);
cubrid_disconnect($conn);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
athlete host_year score unit
Phelps Michael 2004 51.25 time
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>cubrid_prepare</function></member>
<member><function>cubrid_bind</function></member>
<member><function>cubrid_next_result</function></member>
<member><function>cubrid_close_request</function></member>
<member><function>cubrid_commit</function></member>
<member><function>cubrid_rollback</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:"~/.phpdoc/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
-->