Files
php-doc-ru/reference/cubrid/functions/cubrid-prepare.xml
Sergey Panteleev 7c5429ce4e Исправление форматирования
[skip-lint]
[skip-spellcheck]
2021-10-21 10:02:49 +03:00

142 lines
5.1 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 648875cf73af01acdb6afaa5ca38b0bf6631bf42 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.cubrid-prepare" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>cubrid_prepare</refname>
<refpurpose>Подготавливает SQL-выражение к выполнению</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>resource</type><methodname>cubrid_prepare</methodname>
<methodparam><type>resource</type><parameter>conn_identifier</parameter></methodparam>
<methodparam><type>string</type><parameter>prepare_stmt</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>option</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Функция <function>cubrid_prepare</function> - это своего рода API, который представляет выражения SQL,
скомпилированные ранее для данного дескриптора соединения. Этот предварительно скомпилированное SQL-выражение будет включено
в функцию <function>cubrid_prepare</function>.
</para>
<para>
Соответственно, вы можете эффективно использовать этот оператор для многократного выполнения или
для обработки больших данных. Можно использовать только один оператор, а в параметре можно указать вопросительный знак (?)
в соответствующую область SQL-выражения. Добавьте параметр при привязке значения в VALUES
выражения INSERT или в выражении WHERE. Обратите внимание, что можно привязать значение
к вопросительному знаку (?) только с помощью функции <function>cubrid_bind</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>conn_identifier</parameter></term>
<listitem><para>Идентификатор соединения.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>prepare_stmt</parameter></term>
<listitem><para>Подготовленный запрос.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>option</parameter></term>
<listitem><para>Опция возврата OID <constant>CUBRID_INCLUDE_OID</constant>.</para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Идентификатор запроса в случае успешного выполнения&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример использования <function>cubrid_prepare</function></title>
<programlisting role="php">
<![CDATA[
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;
$req = cubrid_prepare($conn, $sql);
cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);
$row_num = cubrid_num_rows($req);
printf("%d соревнований пройдут на олимпиаде 2004, но не в 2000. Например:\n\n", $row_num);
printf("%-15s %s\n", "Код соревнования", "Название");
printf("----------------------------\n");
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
cubrid_disconnect($conn);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
27 соревнований пройдут на олимпиаде 2004, но не в 2000. Например:
Код соревнования Название
----------------------------
20063 +91kg
20070 64kg
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>cubrid_execute</function></member>
<member><function>cubrid_bind</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
-->