1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/reference/pgsql/functions/pg-execute.xml
Sergey Panteleev daef8df962 Обнуление тега Reviewed (#364)
[skip-lint]
[skip-spellcheck]
2021-11-16 13:03:53 +03:00

160 lines
6.0 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: c2eca73ef79ebe78cebb34053e41b565af504c4f Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-execute" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_execute</refname>
<refpurpose>Запускает выполнение ранее подготовленного параметризованного запроса и ждёт результат</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>PgSql\Result</type><type>false</type></type><methodname>pg_execute</methodname>
<methodparam choice="opt"><type>PgSql\Connection</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>stmtname</parameter></methodparam>
<methodparam><type>array</type><parameter>params</parameter></methodparam>
</methodsynopsis>
<para>
Запускает выполнение ранее подготовленного параметризованного запроса
и ждёт результат.
</para>
<para>
<function>pg_execute</function> аналог функции <function>pg_query_params</function>,
только вместо строки с запросом принимает имя предварительно подготовленного
SQL-запроса. Это позволяет многократно выполнять единожды созданные запросы с
различными параметрами. Сам запрос должен быть заранее подготовлен в текущей сессии.
<function>pg_execute</function> поддерживается PostgreSQL версии 7.4 и выше.
Функция не будет работать на соединениях с сервером ранних версий.
</para>
<para>
Аргументы функции те же, что и у <function>pg_query_params</function>, за исключением
имени предварительно составленного запроса, который передаётся вместо строки с запросом.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
&pgsql.parameter.connection-with-unspecified-default;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>stmtname</parameter></term>
<listitem>
<para>
Имя подготовленного к исполнению запроса. Если передана пустая строка "",
будет выполнен безымянный запрос. Имя и содержимое запроса должны быть
подготовлены функцией <function>pg_prepare</function>,
<function>pg_send_prepare</function> либо с помощью SQL-команды <literal>PREPARE</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>params</parameter></term>
<listitem>
<para>
Массив значений параметров запроса для замены псевдопеременных $1, $2 и т.д.
в исходной строке запроса. Количество элементов массива должно точно совпадать с
количеством псевдопеременных.
</para>
<warning>
<para>
Элементы массива будут преобразованы в строки.
</para>
</warning>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Экземпляр <classname>PgSql\Result</classname> в случае успешного выполнения&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.return-result-object;
&pgsql.changelog.connection-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>pg_execute</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Подключение к базе данных "mary"
$dbconn = pg_connect("dbname=mary");
// Подготовка запроса
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
// Запуск запроса на выполнение. Стоит отметить, что нет необходимости экранировать
// спецсимволы в строке "Joe's Widgets"
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));
// Запуск на выполнение того же запроса, но с другим параметром
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_prepare</function></member>
<member><function>pg_send_prepare</function></member>
<member><function>pg_query_params</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
-->