1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-27 01:02:19 +01:00
Files
archived-doc-ru/reference/pgsql/functions/pg-send-query.xml
2021-01-05 20:16:26 +03:00

153 lines
5.2 KiB
XML
Raw 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: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: aur Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<!-- splitted from ./en/functions/pgsql.xml, last change in rev 1.2 -->
<refentry xml:id='function.pg-send-query' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_send_query</refname>
<refpurpose>
Отправляет асинхронный запрос
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>pg_send_query</methodname>
<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>query</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_send_query</function> отправляет на выполнение асинхронный
запрос. В отличие от <function>pg_query</function> запрос может
содержать несколько SQL-выражений, разделённых точкой с запятой.
Для получения результата запроса используйте функцию
<function>pg_get_result</function>.
</para>
<para>
Выполнение запроса не прерывает работу скрипта. Для определения
занятости соединения (когда запрос ещё выполняется) используйте
функцию <function>pg_connection_busy</function>. Выполнение запроса
можно прервать функцией <function>pg_cancel_query</function>.
</para>
<para>
Несмотря на то, что можно отправить несколько запросов за раз, их
нельзя посылать, пока соединение занято. В противном случае, посланный
запрос дождётся завершения предыдущего, сотрёт его результат и
запустится сам. Таким образом вы потеряете данные результата
предыдущего запроса.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
<para>
Ресурс соединения с базой данных PostgreSQL.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>query</parameter></term>
<listitem>
<para>
Одно или несколько SQL-выражений, разделённых точкой с запятой.
</para>
<para>
Спецсимволы в строке запроса должны быть
<link linkend="function.pg-escape-string">экранированы</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>&return.success;</para>
<para>
Для получения результата запроса используйте функцию
<function>pg_get_result</function>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>pg_send_query</function></title>
<programlisting role="php">
<![CDATA[
<?php
$dbconn = pg_connect("dbname=publisher") or die("Не удалось подключиться");
if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
}
$res1 = pg_get_result($dbconn);
echo "Первый вызов pg_get_result(): $res1\n";
$rows1 = pg_num_rows($res1);
echo "$res1 содержит $rows1 записей\n\n";
$res2 = pg_get_result($dbconn);
echo "Второй вызов pg_get_result(): $res2\n";
$rows2 = pg_num_rows($res2);
echo "$res2 содержит $rows2 записей\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Первый вызов pg_get_result(): Resource id #3
Resource id #3 содержит 3 записей
Второй вызов pg_get_result(): Resource id #4
Resource id #4 содержит 1 записей
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_query</function></member>
<member><function>pg_cancel_query</function></member>
<member><function>pg_get_result</function></member>
<member><function>pg_connection_busy</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
-->