<?xml version="1.0" encoding="utf-8"?> <!-- $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> Sends asynchronous query </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> sends a query or queries asynchronously to the <parameter>connection</parameter>. Unlike <function>pg_query</function>, it can send multiple queries at once to PostgreSQL and get the results one by one using <function>pg_get_result</function>. </para> <para> Script execution is not blocked while the queries are executing. Use <function>pg_connection_busy</function> to check if the connection is busy (i.e. the query is executing). Queries may be cancelled using <function>pg_cancel_query</function>. </para> <para> Although the user can send multiple queries at once, multiple queries cannot be sent over a busy connection. If a query is sent while the connection is busy, it waits until the last query is finished and discards all its results. </para> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>connection</parameter></term> <listitem> <para> PostgreSQL database connection resource. </para> </listitem> </varlistentry> <varlistentry> <term><parameter>query</parameter></term> <listitem> <para> The SQL statement or statements to be executed. </para> <para> Data inside the query should be <link linkend="function.pg-escape-string">properly escaped</link>. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para>&return.success;</para> <para> Use <function>pg_get_result</function> to determine the query result. </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title><function>pg_send_query</function> example</title> <programlisting role="php"> <![CDATA[ <?php $dbconn = pg_connect("dbname=publisher") or die("Could not connect"); if (!pg_connection_busy($dbconn)) { pg_send_query($dbconn, "select * from authors; select count(*) from authors;"); } $res1 = pg_get_result($dbconn); echo "First call to pg_get_result(): $res1\n"; $rows1 = pg_num_rows($res1); echo "$res1 has $rows1 records\n\n"; $res2 = pg_get_result($dbconn); echo "Second call to pg_get_result(): $res2\n"; $rows2 = pg_num_rows($res2); echo "$res2 has $rows2 records\n"; ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ First call to pg_get_result(): Resource id #3 Resource id #3 has 3 records Second call to pg_get_result(): Resource id #4 Resource id #4 has 1 records ]]> </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 -->