<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >pg_send_query</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="Manual do PHP" HREF="index.html"><LINK REL="UP" TITLE="PostgreSQL" HREF="ref.pgsql.html"><LINK REL="PREVIOUS" TITLE="pg_send_query_params" HREF="function.pg-send-query-params.html"><LINK REL="NEXT" TITLE="pg_set_client_encoding" HREF="function.pg-set-client-encoding.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Manual do PHP</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.pg-send-query-params.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.pg-set-client-encoding.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.pg-send-query" ></A >pg_send_query</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN182804" ></A ><P > (PHP 4 >= 4.2.0, PHP 5)</P >pg_send_query -- Envia uma consulta (query) assincrona </DIV ><DIV CLASS="refsect1" ><A NAME="AEN182807" ></A ><H2 >Descrição</H2 >bool <B CLASS="methodname" >pg_send_query</B > ( resource connection, string query )<BR ></BR >bool <B CLASS="methodname" >pg_send_query</B > ( string query )<BR ></BR ><P > <B CLASS="function" >pg_send_query()</B > envia uma consulta (query) assíncrona para <CODE CLASS="parameter" >connection</CODE >. Diferente de <A HREF="function.pg-query.html" ><B CLASS="function" >pg_query()</B ></A >, ela pode enviar consultas múltiplas para o PostgreSQL e carregar os resultados, um por um, usando <A HREF="function.pg-get-result.html" ><B CLASS="function" >pg_get_result()</B ></A >. A execução do script não é bloqueada enquanto as consultas estão sendo executadas. Use <A HREF="function.pg-connection-busy.html" ><B CLASS="function" >pg_connection_busy()</B ></A > para checar se a conexão está ocupada. (por exemplo, se uma consulta está sendo executada). A consulta pode ser cancelada chamando <A HREF="function.pg-cancel-query.html" ><B CLASS="function" >pg_cancel_query()</B ></A >. </P ><P > Apesar de ser possível enviar multiplas consultas de uma vez, você não pode enviar múltiplas consultas para uma conexão ocupada. Se a consulta é enviada enquando a conexão está ocupada ela espera até que a última cosulta seja finalizada e descarta todos os resultados. </P ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN182833" ></A ><P ><B >Exemplo 1. Asynchronous Queries</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /> $dbconn </font><font color="#007700">= </font><font color="#0000BB">pg_connect</font><font color="#007700">(</font><font color="#DD0000">"dbname=publisher"</font><font color="#007700">) or die(</font><font color="#DD0000">"Could not connect"</font><font color="#007700">);<br /> if (!</font><font color="#0000BB">pg_connection_busy</font><font color="#007700">(</font><font color="#0000BB">$dbconn</font><font color="#007700">)) {<br /> </font><font color="#0000BB">pg_send_query</font><font color="#007700">(</font><font color="#0000BB">$dbconn</font><font color="#007700">,</font><font color="#DD0000">"select * from authors; select count(*) from authors;"</font><font color="#007700">);<br /> }<br /><br /> </font><font color="#0000BB">$res1 </font><font color="#007700">= </font><font color="#0000BB">pg_get_result</font><font color="#007700">(</font><font color="#0000BB">$dbconn</font><font color="#007700">);<br /> echo </font><font color="#DD0000">"First call to pg_get_result(): $res1</font><font color="#007700">\n</font><font color="#DD0000">"</font><font color="#007700">;<br /> </font><font color="#0000BB">$rows1 </font><font color="#007700">= </font><font color="#0000BB">pg_num_rows</font><font color="#007700">(</font><font color="#0000BB">$res1</font><font color="#007700">);<br /> echo </font><font color="#DD0000">"$res1 has $rows1 records</font><font color="#007700">\n\n</font><font color="#DD0000">"</font><font color="#007700">;<br /><br /> </font><font color="#0000BB">$res2 </font><font color="#007700">= </font><font color="#0000BB">pg_get_result</font><font color="#007700">(</font><font color="#0000BB">$dbconn</font><font color="#007700">);<br /> echo </font><font color="#DD0000">"second call to pg_get_result(): $res2</font><font color="#007700">\n</font><font color="#DD0000">"</font><font color="#007700">;<br /> </font><font color="#0000BB">$rows2 </font><font color="#007700">= </font><font color="#0000BB">pg_num_rows</font><font color="#007700">(</font><font color="#0000BB">$res2</font><font color="#007700">);<br /> echo </font><font color="#DD0000">"$res2 has $rows2 records</font><font color="#007700">\n</font><font color="#DD0000">"</font><font color="#007700">;<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P > O exemplo acima deve mostrar a seguinte saída: </P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >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</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ><P > Veja também <A HREF="function.pg-query.html" ><B CLASS="function" >pg_query()</B ></A >, <A HREF="function.pg-cancel-query.html" ><B CLASS="function" >pg_cancel_query()</B ></A >, <A HREF="function.pg-get-result.html" ><B CLASS="function" >pg_get_result()</B ></A > e <A HREF="function.pg-connection-busy.html" ><B CLASS="function" >pg_connection_busy()</B ></A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.pg-send-query-params.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Principal</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.pg-set-client-encoding.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >pg_send_query_params</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.pgsql.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >pg_set_client_encoding</TD ></TR ></TABLE ></DIV ></BODY ></HTML >