<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >oci_bind_array_by_name</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 do Oracle 8" HREF="ref.oci8.html"><LINK REL="PREVIOUS" TITLE="Funções do Oracle 8" HREF="ref.oci8.html"><LINK REL="NEXT" TITLE="oci_bind_by_name" HREF="function.oci-bind-by-name.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="ref.oci8.html" ACCESSKEY="P" >Anterior</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.oci-bind-by-name.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.oci-bind-array-by-name" ></A >oci_bind_array_by_name</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN151088" ></A ><P > (no version information, might be only in CVS)</P >oci_bind_array_by_name -- Binds PHP array to Oracle PL/SQL array by name</DIV ><DIV CLASS="refsect1" ><A NAME="AEN151091" ></A ><H2 >Descrição</H2 >bool <B CLASS="methodname" >oci_bind_array_by_name</B > ( resource statement, string name, array &var_array, int max_table_length [, int max_item_length [, int type]] )<BR ></BR ><P > Binds the PHP array <CODE CLASS="parameter" >var_array</CODE > to the Oracle placeholder <CODE CLASS="parameter" >name</CODE >, which points to Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN151117" ></A ><H2 >Parâmetros</H2 ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><CODE CLASS="parameter" >statement</CODE ></DT ><DD ><P > A valid OCI statement identifier. </P ></DD ><DT ><CODE CLASS="parameter" >name</CODE ></DT ><DD ><P > The Oracle placeholder. </P ></DD ><DT ><CODE CLASS="parameter" >var_array</CODE ></DT ><DD ><P > An array. </P ></DD ><DT ><CODE CLASS="parameter" >max_table_length</CODE ></DT ><DD ><P > Sets the maximum length both for incoming and result arrays. </P ></DD ><DT ><CODE CLASS="parameter" >max_item_length</CODE ></DT ><DD ><P > Sets maximum length for array items. If not specified or equals to -1, <B CLASS="function" >oci_bind_array_by_name()</B > will use find the longest element in the incoming array and will use it as maximum length for array items. </P ></DD ><DT ><CODE CLASS="parameter" >type</CODE ></DT ><DD ><P > Should be used to set the type of PL/SQL array items. See list of available types below: </P ><P > <P ></P ><UL ><LI ><P > <TT CLASS="constant" ><B >SQLT_NUM</B ></TT > - for arrays of NUMBER. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_INT</B ></TT > - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but <TT CLASS="constant" ><B >SQLT_NUM</B ></TT > type won't work in this case even though they are synonyms). </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_FLT</B ></TT > - for arrays of FLOAT. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_AFC</B ></TT > - for arrays of CHAR. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_CHR</B ></TT > - for arrays of VARCHAR2. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_VCS</B ></TT > - for arrays of VARCHAR. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_AVC</B ></TT > - for arrays of CHARZ. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_STR</B ></TT > - for arrays of STRING. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_LVC</B ></TT > - for arrays of LONG VARCHAR. </P ></LI ><LI ><P > <TT CLASS="constant" ><B >SQLT_ODT</B ></TT > - for arrays of DATE. </P ></LI ></UL > </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN151185" ></A ><H2 >Valores de retornado</H2 ><P > Retorna <TT CLASS="constant" ><B >TRUE</B ></TT > em caso de sucesso ou <TT CLASS="constant" ><B >FALSE</B ></TT > em falhas. </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN151190" ></A ><H2 >Exemplos</H2 ><P > <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN151193" ></A ><P ><B >Exemplo 1. <B CLASS="function" >oci_bind_array_by_name()</B > example</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br /><br />$c </font><font color="#007700">= </font><font color="#0000BB">oci_connect</font><font color="#007700">(</font><font color="#DD0000">"scott"</font><font color="#007700">, </font><font color="#DD0000">"tiger"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$create </font><font color="#007700">= </font><font color="#DD0000">"CREATE TABLE bind_example(name VARCHAR(20))"</font><font color="#007700">;<br /></font><font color="#0000BB">$statement </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$c</font><font color="#007700">, </font><font color="#0000BB">$create</font><font color="#007700">);<br /></font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$statement</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$create_pkg </font><font color="#007700">= </font><font color="#DD0000">"<br />CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS<br /> TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;<br /> PROCEDURE iobind(c1 IN OUT ARRTYPE);<br />END ARRAYBINDPKG1;"</font><font color="#007700">;<br /></font><font color="#0000BB">$statement </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$c</font><font color="#007700">, </font><font color="#0000BB">$create_pkg</font><font color="#007700">);<br /></font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$statement</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$create_pkg_body </font><font color="#007700">= </font><font color="#DD0000">"<br />CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS<br /> CURSOR CUR IS SELECT name FROM bind_example;<br /> PROCEDURE iobind(c1 IN OUT ARRTYPE) IS<br /> BEGIN<br /> FOR i IN 1..5 LOOP<br /> INSERT INTO bind_example VALUES (c1(i));<br /> END LOOP;<br /> IF NOT CUR%ISOPEN THEN<br /> OPEN CUR;<br /> END IF;<br /> FOR i IN REVERSE 1..5 LOOP<br /> FETCH CUR INTO c1(i);<br /> IF CUR%NOTFOUND THEN<br /> CLOSE CUR;<br /> EXIT;<br /> END IF;<br /> END LOOP;<br /> END iobind;<br />END ARRAYBINDPKG1;"</font><font color="#007700">;<br /></font><font color="#0000BB">$statement </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$c</font><font color="#007700">, </font><font color="#0000BB">$create_pkg_body</font><font color="#007700">);<br /></font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$statement</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$statement </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$c</font><font color="#007700">, </font><font color="#DD0000">"BEGIN ARRAYBINDPKG1.iobind(:c1); END;"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$array </font><font color="#007700">= array(</font><font color="#DD0000">"one"</font><font color="#007700">, </font><font color="#DD0000">"two"</font><font color="#007700">, </font><font color="#DD0000">"three"</font><font color="#007700">, </font><font color="#DD0000">"four"</font><font color="#007700">, </font><font color="#DD0000">"five"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">oci_bind_array_by_name</font><font color="#007700">(</font><font color="#0000BB">$statement</font><font color="#007700">, </font><font color="#DD0000">":c1"</font><font color="#007700">, </font><font color="#0000BB">$array</font><font color="#007700">, </font><font color="#0000BB">5</font><font color="#007700">, -</font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#0000BB">SQLT_CHR</font><font color="#007700">);<br /><br /></font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$statement</font><font color="#007700">);<br /><br /></font><font color="#0000BB">var_dump</font><font color="#007700">(</font><font color="#0000BB">$array</font><font color="#007700">);<br /><br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN151197" ></A ><H2 >Notas</H2 ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >Nota: </B > This function is available since OCI8 release 1.2. </P ></BLOCKQUOTE ></DIV ></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="ref.oci8.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.oci-bind-by-name.html" ACCESSKEY="N" >Próxima</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Funções do Oracle 8</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.oci8.html" ACCESSKEY="U" >Acima</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >oci_bind_by_name</TD ></TR ></TABLE ></DIV ></BODY ></HTML >