Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 5935

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>dbx_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="funções dbx"
HREF="ref.dbx.html"><LINK
REL="PREVIOUS"
TITLE="dbx_fetch_row"
HREF="function.dbx-fetch-row.html"><LINK
REL="NEXT"
TITLE="dbx_sort"
HREF="function.dbx-sort.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.dbx-fetch-row.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.dbx-sort.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="function.dbx-query"
></A
>dbx_query</H1
><DIV
CLASS="refnamediv"
><A
NAME="AEN32443"
></A
><P
>    (PHP 4 &#62;= 4.0.6, PHP 5 &#60;= 5.0.4)</P
>dbx_query&nbsp;--&nbsp;Envia uma requisição e armazena todos os resultados (se houver)</DIV
><DIV
CLASS="refsect1"
><A
NAME="AEN32446"
></A
><H2
>Descrição</H2
>objeto <B
CLASS="methodname"
>dbx_query</B
> ( objeto identificador_de_conexão, string comandos_sql [, int flags] )<BR
></BR
><P
>&#13;	 A função <B
CLASS="function"
>dbx_query()</B
> retorna um objeto ou o número <TT
CLASS="literal"
>1</TT
> 
	 em caso de sucesso, e <TT
CLASS="literal"
>0</TT
> se falhar. O resultado em forma de objeto somente 
	 é retornado, caso a requisição no parâmetro <CODE
CLASS="parameter"
>comandos_sql</CODE
> produzir este 
	 resultado (ex: um SELECT query, mesmo se o resultado retornado está vazio).
    </P
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN32465"
></A
><P
><B
>Exemplo 1. Como tratar os resultados retornados</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$link&nbsp;&nbsp;&nbsp;</font><font color="#007700">= </font><font color="#0000BB">dbx_connect</font><font color="#007700">(</font><font color="#0000BB">DBX_ODBC</font><font color="#007700">, </font><font color="#DD0000">""</font><font color="#007700">, </font><font color="#DD0000">"bd"</font><font color="#007700">, </font><font color="#DD0000">"nome de usuário"</font><font color="#007700">, </font><font color="#DD0000">"senha"</font><font color="#007700">)<br />&nbsp;&nbsp;&nbsp;&nbsp;or die(</font><font color="#DD0000">"Não foi possível conectar"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$result </font><font color="#007700">= </font><font color="#0000BB">dbx_query</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">'SELECT id, parentid, descricao FROM tabela'</font><font color="#007700">);<br /><br />if ( </font><font color="#0000BB">is_object</font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">) ) {<br />&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#FF8000">// ... faz alguma coisa aqui, veja detalhes nos exemplos abaixo...<br />&nbsp;&nbsp;&nbsp;&nbsp;// primeiro, imprima os nomes e tipos dos campos<br />&nbsp;&nbsp;&nbsp;&nbsp;// depois, desenhar uma tabela contendo os valores dos campos<br /></font><font color="#007700">}<br />else {<br />&nbsp;&nbsp;&nbsp;&nbsp;exit(</font><font color="#DD0000">"Requisição falhou"</font><font color="#007700">);<br />}<br /><br /></font><font color="#0000BB">dbx_close</font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><P
>&#13;	 O parâmetro <CODE
CLASS="parameter"
>flags</CODE
> é usado para controlar a quantiodade 
	 de informação que é retornada. Estas informações podem ser qualquer combinação 
	 de uma das constantes abaixo usando o operador bitwise OR (|). As flags DBX_COLNAMES_* 
	 quando usadas, substituem as dbx.colnames_case configuradas no <TT
CLASS="filename"
>php.ini</TT
>.
     <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><TT
CLASS="constant"
><B
>DBX_RESULT_INDEX</B
></TT
></DT
><DD
><P
>&#13;		 Está <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>sempre</I
></SPAN
> ligada, isto é, o objeto retornado 
		 contém uma propriedade <SPAN
CLASS="property"
>data</SPAN
>, que é um array numérico 
		 indexado com 2 dimensões. Por exemplo, na expressão <TT
CLASS="literal"
>data[2][3]</TT
> 
		 <TT
CLASS="literal"
>2</TT
> é o número da coluna (ou registro) e <TT
CLASS="literal"
>3</TT
> é o 
		 número da coluna (ou campo). A primeira linha e coluna estão no índice 0.
        </P
><P
>&#13;		 Se a constante <TT
CLASS="constant"
><B
>DBX_RESULT_ASSOC</B
></TT
> estiver sendo especificada, 
		 o objeto retornado irá conter informações relacionadas à <TT
CLASS="constant"
><B
>DBX_RESULT_INFO</B
></TT
> 
		 também, mesmo que isto não tenha sido especificado.
        </P
></DD
><DT
><TT
CLASS="constant"
><B
>DBX_RESULT_INFO</B
></TT
></DT
><DD
><P
>&#13;		 Contém informações sobre colunas, assim como o nome e tipos dos campos.
        </P
></DD
><DT
><TT
CLASS="constant"
><B
>DBX_RESULT_ASSOC</B
></TT
></DT
><DD
><P
>&#13;		 Esta constante torna possível o acesso aos valores dos campos e nomes das colunas 
		 respectivamente, ela é usada como chave para os objetos retornados na propriedade 
         <SPAN
CLASS="property"
>data</SPAN
>.
        </P
><P
>&#13; 		 Os resultados associados são atualmente referências aos dados numericamente 
		 posicionados, sendo assim, ao modificar <TT
CLASS="literal"
>data[0][0]</TT
> causa 
		 a modificação de <TT
CLASS="literal"
>data[0]['nome_para_a_primeira_coluna']</TT
> 
		 também.
        </P
></DD
><DT
><TT
CLASS="constant"
><B
>DBX_RESULT_UNBUFFERED</B
></TT
> (somente no CVS)</DT
><DD
><P
>&#13;		 Esta flag não irá criar a propriedade <SPAN
CLASS="property"
>data</SPAN
>, e 
		 a propriedade <SPAN
CLASS="property"
>rows</SPAN
> irá iniciar à partir do 0. Use esta 
		 flag para grandes datasets, e use a função <A
HREF="function.dbx-fetch-row.html"
><B
CLASS="function"
>dbx_fetch_row()</B
></A
> 
		 para obter os resultados linha à linha.
        </P
><P
>&#13;		 A função <A
HREF="function.dbx-fetch-row.html"
><B
CLASS="function"
>dbx_fetch_row()</B
></A
> irá retornar as linhas que 
		 fazem parte das flags desta requisição. Incidentalmente, ela irá também 
		 atualizar a propriedade <SPAN
CLASS="property"
>rows</SPAN
> toda vez que for chamada.
        </P
></DD
><DT
><TT
CLASS="constant"
><B
>DBX_COLNAMES_UNCHANGED</B
></TT
> (disponível à partir do PHP 4.3.0)</DT
><DD
><P
>&#13;		 Os nomes das colunas retornadas não serão alterados.
        </P
></DD
><DT
><TT
CLASS="constant"
><B
>DBX_COLNAMES_UPPERCASE</B
></TT
> (disponível à partir do PHP 4.3.0)</DT
><DD
><P
>&#13;		 Os nomes das colunas retornadas serão todas alteradas para CAIXA ALTA.
        </P
></DD
><DT
><TT
CLASS="constant"
><B
>DBX_COLNAMES_LOWERCASE</B
></TT
> (disponível à partir do PHP 4.3.0)</DT
><DD
><P
>&#13;		 Os nomes das colunas retornadas serão todas alteradas para caixa baixa.
        </P
></DD
></DL
></DIV
>
	 Note que a constante <TT
CLASS="constant"
><B
>DBX_RESULT_INDEX</B
></TT
> é sempre usada, 
	 contendo o valor atual do parâmetro <CODE
CLASS="parameter"
>flags</CODE
>. Isto significa 
	 que somennte as seguintes combinaçõs surtem efeito:
     <P
></P
><UL
><LI
><P
>&#13;        <TT
CLASS="constant"
><B
>DBX_RESULT_INDEX</B
></TT
>
       </P
></LI
><LI
><P
>&#13;        <TT
CLASS="constant"
><B
>DBX_RESULT_INDEX</B
></TT
> |
        <TT
CLASS="constant"
><B
>DBX_RESULT_INFO</B
></TT
>
       </P
></LI
><LI
><P
>&#13;        <TT
CLASS="constant"
><B
>DBX_RESULT_INDEX</B
></TT
> |
        <TT
CLASS="constant"
><B
>DBX_RESULT_INFO</B
></TT
> |
        <TT
CLASS="constant"
><B
>DBX_RESULT_ASSOC</B
></TT
> - este é o padrão, se o parâmetro 
        <CODE
CLASS="parameter"
>flags</CODE
> não for especificado.
       </P
></LI
></UL
>
    </P
><P
>&#13;	 O <CODE
CLASS="varname"
>objeto</CODE
> retornado contém quatro ou cinco 
	 propriedades dependendo do parâmetro <CODE
CLASS="parameter"
>flags</CODE
>:
     <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><SPAN
CLASS="property"
>handle</SPAN
></DT
><DD
><P
>&#13;		 É um evento válido para a conexão com o banco de dados, e como tal pode ser 
		 usado nas funções do módulo específico (se necessário).
         <DIV
CLASS="informalexample"
><P
></P
><A
NAME="AEN32550"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$result </font><font color="#007700">= </font><font color="#0000BB">dbx_query </font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">"SELECT id FROM tabela"</font><font color="#007700">);<br /></font><font color="#0000BB">mysql_field_len </font><font color="#007700">(</font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">handle</font><font color="#007700">, </font><font color="#0000BB">0</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
></P
></DIV
>
        </P
></DD
><DT
><SPAN
CLASS="property"
>cols</SPAN
> e <SPAN
CLASS="property"
>rows</SPAN
></DT
><DD
><P
>&#13;		 Estas propriedades conte´m o número das colunas (ou campos) e das linhas (ou registros) 
		 respectivamente.
         <DIV
CLASS="informalexample"
><P
></P
><A
NAME="AEN32558"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$result </font><font color="#007700">= </font><font color="#0000BB">dbx_query </font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">'SELECT id FROM tabela'</font><font color="#007700">);<br />echo </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">rows</font><font color="#007700">; </font><font color="#FF8000">// número de registros<br /></font><font color="#007700">echo </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">cols</font><font color="#007700">; </font><font color="#FF8000">// número de campos<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
><P
></P
></DIV
>
        </P
></DD
><DT
><SPAN
CLASS="property"
>info</SPAN
> (opcional)</DT
><DD
><P
>&#13;		 É retornado somente se as constantes <TT
CLASS="constant"
><B
>DBX_RESULT_INFO</B
></TT
> ou 
		 <TT
CLASS="constant"
><B
>DBX_RESULT_ASSOC</B
></TT
> são especificados no parâmetro <CODE
CLASS="parameter"
>flags</CODE
>. 
		 Esta propriedade é um array de 2 dimensões, que contém duas linhas nomeadas (<TT
CLASS="literal"
>name</TT
> 
		 e <TT
CLASS="literal"
>type</TT
>) para obter informação da coluna.
        </P
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN32570"
></A
><P
><B
>Exemplo 2. lista cada nome e tipo de campo</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$result </font><font color="#007700">= </font><font color="#0000BB">dbx_query </font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">'SELECT id FROM tabela'</font><font color="#007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">DBX_RESULT_INDEX </font><font color="#007700">| </font><font color="#0000BB">DBX_RESULT_INFO</font><font color="#007700">);<br /><br />for (</font><font color="#0000BB">$i </font><font color="#007700">= </font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$i </font><font color="#007700">&lt; </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">cols</font><font color="#007700">; </font><font color="#0000BB">$i</font><font color="#007700">++ ) {<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">info</font><font color="#007700">[</font><font color="#DD0000">'name'</font><font color="#007700">][</font><font color="#0000BB">$i</font><font color="#007700">] . </font><font color="#DD0000">"\n"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#0000BB">$result</font><font color="#007700">-&gt;</font><font color="#0000BB">info</font><font color="#007700">[</font><font color="#DD0000">'type'</font><font color="#007700">][</font><font color="#0000BB">$i</font><font color="#007700">] . </font><font color="#DD0000">"\n"</font><font color="#007700">;&nbsp;&nbsp;<br />}<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></DD
><DT
><SPAN
CLASS="property"
>data</SPAN
></DT
><DD
><P
>&#13;		 Esta propriedade contém os dados do resultado atual, possivelmente associado 
		 com os nomes das colunas depdnendo do parâmetro <CODE
CLASS="parameter"
>flags</CODE
>. 
		 Se a constante <TT
CLASS="constant"
><B
>DBX_RESULT_ASSOC</B
></TT
> está ligada, é possível 
		 usar <TT
CLASS="literal"
>$result-&#62;data[2]["nome_do_campo"]</TT
>.
        </P
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN32581"
></A
><P
><B
>Exemplo 3. colocando o conteúdo da propriedade data em uma tabela HTML</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br />$resultado </font><font color="#007700">= </font><font color="#0000BB">dbx_query </font><font color="#007700">(</font><font color="#0000BB">$link</font><font color="#007700">, </font><font color="#DD0000">'SELECT id, parentid, descricao FROM tabela'</font><font color="#007700">);<br /><br />echo </font><font color="#DD0000">"&lt;table&gt;\n"</font><font color="#007700">;<br />foreach ( </font><font color="#0000BB">$resultado</font><font color="#007700">-&gt;</font><font color="#0000BB">data </font><font color="#007700">as </font><font color="#0000BB">$linha </font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#DD0000">"&lt;tr&gt;\n"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach ( </font><font color="#0000BB">$linha </font><font color="#007700">as </font><font color="#0000BB">$campo </font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#DD0000">"&lt;td&gt;$campo&lt;/td&gt;"</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;echo </font><font color="#DD0000">"&lt;/tr&gt;\n"</font><font color="#007700">;<br />}<br />echo </font><font color="#DD0000">"&lt;/table&gt;\n"</font><font color="#007700">;<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN32584"
></A
><P
><B
>Exemplo 4. Como tratar requisições "UNBUFFERED"</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
$resultado = dbx_query ($link, 'SELECT id, parentid, descricao FROM tabela', DBX_RESULT_UNBUFFERED);<br /><br />echo "&lt;table&gt;\n";<br />while ( $linha = dbx_fetch_row($resultado) ) {<br />&nbsp;&nbsp;&nbsp;&nbsp;echo "&lt;tr&gt;\n";<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach ( $linha as $campo ) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "&lt;td&gt;$campo&lt;/td&gt;";<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;echo "&lt;/tr&gt;\n";<br />}<br />echo "&lt;/table&gt;\n";</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></DD
></DL
></DIV
>
    </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>Nota: </B
>
	  Sempre refira-se à documentação do módulo-específico quando necessário.
     </P
><P
>&#13;	  Os nomes das colunas em uma requisição de um banco de dados Oracle 
	  são retornados em caixa baixa.
     </P
></BLOCKQUOTE
></DIV
><P
>&#13;	 Veja também <A
HREF="function.dbx-escape-string.html"
><B
CLASS="function"
>dbx_escape_string()</B
></A
>, 
     <A
HREF="function.dbx-fetch-row.html"
><B
CLASS="function"
>dbx_fetch_row()</B
></A
> e 
     <A
HREF="function.dbx-connect.html"
><B
CLASS="function"
>dbx_connect()</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.dbx-fetch-row.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.dbx-sort.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>dbx_fetch_row</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="ref.dbx.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>dbx_sort</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>