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-send-query.xml
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

165 lines
5.5 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: aur Status: ready -->
<!-- Reviewed: no -->
<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 class="union"><type>int</type><type>bool</type></type><methodname>pg_send_query</methodname>
<methodparam><type>PgSql\Connection</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>
&pgsql.parameter.connection;
</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>
Возвращает &true; в случае успешного выполнения, &false; или <literal>0</literal> в случае возникновения ошибки.
Для получения результата запроса используйте функцию
<function>pg_get_result</function>.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.connection-object;
</tbody>
</tgroup>
</informaltable>
</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
-->