Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 05cd670d8a02b2b4a0ffb1756f2e8308 > files > 10917

php-manual-zh-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
>Oracle 函数</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PHP 手册"
HREF="index.html"><LINK
REL="UP"
TITLE="函数参考"
HREF="funcref.html"><LINK
REL="PREVIOUS"
TITLE="overload"
HREF="function.overload.html"><LINK
REL="NEXT"
TITLE="oci_bind_array_by_name"
HREF="function.oci-bind-array-by-name.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="reference"
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"
>PHP 手册</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="function.overload.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="function.oci-bind-array-by-name.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="reference"
><A
NAME="ref.oci8"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="title"
>CVII. Oracle 函数</H1
><DIV
CLASS="PARTINTRO"
><A
NAME="AEN155910"
></A
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.intro"
>简介</A
></H1
><P
>&#13;    本类函数使用 Oracle Call
    Interface(OCI)使用户可以访问 Oracle 10,Oracle9,Oracle8 和 Oracle7
    数据库。支持将 PHP 变量与 Oracle 占位符(placeholder)绑定,具有完整的
    LOB,FILE 和 ROWID 支持,以及允许使用用户提供的定义变量。
   </P
></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.requirements"
>需求</A
></H1
><P
>&#13;    使用本扩展需要 Oracle 客户端库。Windows
    用户需要至少版本号为 10 的库才能使用
    <TT
CLASS="filename"
>php_oci8.dll</TT
>。
   </P
><P
>&#13;    安装所有所需文件最方便的方法是使用
    Oracle Instant Client,可以从此处得到:<A
HREF="http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html"
TARGET="_top"
>http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html</A
>。要使
    OCI8 模块能工作,"basic" 版的 Oracle Instant Client 已经足够。Instant
    Client 不需要 ORACLE_SID 或 ORACLE_HOME 环境变量被设定。不过可能还是要设定
    LD_LIBRARY_PATH 和 NLS_LANG。
   </P
><P
>&#13;    在使用本扩展之前,请确认已经为 Oracle 用户和 web daemon
    用户正确设置了 Oracle 环境变量。这些变量应该在启动 web server
    <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>之前</I
></SPAN
>设定。下面列出了需要设置的环境变量:
    <P
></P
><UL
><LI
><P
>&#13;       ORACLE_HOME
      </P
></LI
><LI
><P
>&#13;       ORACLE_SID
      </P
></LI
><LI
><P
>&#13;       LD_PRELOAD
      </P
></LI
><LI
><P
>&#13;       LD_LIBRARY_PATH
      </P
></LI
><LI
><P
>&#13;       NLS_LANG
      </P
></LI
></UL
>
    对于较少用到的 Oracle 环境变量例如
    TNS_ADMIN,TWO_TASK,ORA_TZFILE 和各种 Oracle
    全球性设定例如 ORA_NLS33,ORA_NLS10 和 NLS_*
    等变量请参考 Oracle 稳当。
   </P
><P
>&#13;    在为 web 服务器用户设置环境变量之后,还需要将 web
    服务器用户(nobody,www)加到 oracle 组中。
   </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>I如果 web 服务器不能够启动或者在启动的时候崩溃: </B
>
     检查 Apache 是否连接了 pthread 库:
    </P
><P
>&#13;     <DIV
CLASS="informalexample"
><P
></P
><A
NAME="AEN155938"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
># ldd /www/apache/bin/httpd
    libpthread.so.0 =&#62; /lib/libpthread.so.0 (0x4001c000)
    libm.so.6 =&#62; /lib/libm.so.6 (0x4002f000)
    libcrypt.so.1 =&#62; /lib/libcrypt.so.1 (0x4004c000)
    libdl.so.2 =&#62; /lib/libdl.so.2 (0x4007a000)
    libc.so.6 =&#62; /lib/libc.so.6 (0x4007e000)
    /lib/ld-linux.so.2 =&#62; /lib/ld-linux.so.2 (0x40000000)</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
>
    </P
><P
>&#13;     如果 libpthread 没有列出,必需重新安装 Apache:
    </P
><P
>&#13;     <DIV
CLASS="informalexample"
><P
></P
><A
NAME="AEN155942"
></A
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><PRE
CLASS="screen"
># cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install</PRE
></TD
></TR
></TABLE
><P
></P
></DIV
>
    </P
><P
>&#13;     请注意在像 UnixWare 之类的某些操作系统中,使用 libthread
     代替了 libpthread。则 PHP 和 Apache 必须使用 EXTRA_LIBS=-lthread 配置。
    </P
></BLOCKQUOTE
></DIV
></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.configuration"
>运行时配置</A
></H1
><P
>这些函数的行为受 <TT
CLASS="filename"
>php.ini</TT
> 的影响。</P
><P
>&#13;     <DIV
CLASS="table"
><A
NAME="AEN155950"
></A
><P
><B
>表 1. OCI8 Configuration Options</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><COL><COL><THEAD
><TR
><TH
>Name</TH
><TH
>Default</TH
><TH
>Changeable</TH
><TH
>Changelog</TH
></TR
></THEAD
><TBODY
><TR
><TD
>oci8.privileged_connect</TD
><TD
>"0"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
><TR
><TD
>oci8.max_persistent</TD
><TD
>"-1"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
><TR
><TD
>oci8.persistent_timeout</TD
><TD
>"-1"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
><TR
><TD
>oci8.ping_interval</TD
><TD
>"60"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
><TR
><TD
>oci8.statement_cache_size</TD
><TD
>"20"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
><TR
><TD
>oci8.default_prefetch</TD
><TD
>"10"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
><TR
><TD
>oci8.old_oci_close_semantics</TD
><TD
>"0"</TD
><TD
>PHP_INI_SYSTEM</TD
><TD
>Available since PHP 5.1.2.</TD
></TR
></TBODY
></TABLE
></DIV
>
    </P
><P
>以下是配置选项的简要解释。</P
><P
>&#13;     <P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><A
NAME="ini.oci8.privileged_connect"
></A
><CODE
CLASS="parameter"
>oci8.privileged_connect</CODE
>
        <A
HREF="language.types.boolean.html"
><B
CLASS="type"
>boolean</B
></A
></DT
><DD
><P
>&#13;         This option enables privileged connections using external credentials
         (<TT
CLASS="constant"
><B
>OCI_SYSOPER</B
></TT
>, <TT
CLASS="constant"
><B
>OCI_SYSDBA</B
></TT
>).
        </P
></DD
><DT
><A
NAME="ini.oci8.max_persistent"
></A
><CODE
CLASS="parameter"
>oci8.max_persistent</CODE
>
        <A
HREF="language.types.integer.html"
><B
CLASS="type"
>int</B
></A
></DT
><DD
><P
>&#13;         The maximum number of persistent OCI8 connections per process.
         Setting this option to -1 means that there is no limit.
        </P
></DD
><DT
><A
NAME="ini.oci8.persistent_timeout"
></A
><CODE
CLASS="parameter"
>oci8.persistent_timeout</CODE
>
        <A
HREF="language.types.integer.html"
><B
CLASS="type"
>int</B
></A
></DT
><DD
><P
>&#13;         The maximum length of time (in seconds) that a given process is 
         allowed to maintain an idle persistent connection.
         Setting this option to -1 means that idle persistent connections will
         be maintained forever.
        </P
></DD
><DT
><A
NAME="ini.oci8.ping_interval"
></A
><CODE
CLASS="parameter"
>oci8.ping_interval</CODE
>
        <A
HREF="language.types.integer.html"
><B
CLASS="type"
>int</B
></A
></DT
><DD
><P
>&#13;          The length of time (in seconds) that must pass before issuing a ping
          during <A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
>. When set to 0, persistent
          connections will be pinged every time they are reused. To disable
          pings completely, set this option to -1.
        </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
          Disabling pings will cause <A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
> calls to operate at the 
          highest efficiency, but may cause PHP to not detect faulty connections, 
          such as those caused by network partitions, or if the Oracle server has 
          gone down since PHP connected, until later in the script. Consult the 
          <A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
> documentation for more information.
         </P
></BLOCKQUOTE
></DIV
></DD
><DT
><A
NAME="ini.oci8.statement_cache_size"
></A
><CODE
CLASS="parameter"
>oci8.statement_cache_size</CODE
>
        <A
HREF="language.types.integer.html"
><B
CLASS="type"
>int</B
></A
></DT
><DD
><P
>&#13;         This option enables statement caching, and specifies how many
         statements to cache. To disable statement caching just set this option to 0.
        </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
          A larger cache can result in improved performance, at the cost of
          increased memory usage.
         </P
></BLOCKQUOTE
></DIV
></DD
><DT
><A
NAME="ini.oci8.default_prefetch"
></A
><CODE
CLASS="parameter"
>oci8.default_prefetch</CODE
>
        <A
HREF="language.types.integer.html"
><B
CLASS="type"
>int</B
></A
></DT
><DD
><P
>&#13;         This option enables statement prefetching and sets the default number
         of rows that will be fetched automatically after statement execution.
        </P
><DIV
CLASS="note"
><BLOCKQUOTE
CLASS="note"
><P
><B
>注意: </B
>
          A larger prefetch can result in improved performance, at the cost of
          increased memory usage.
         </P
></BLOCKQUOTE
></DIV
></DD
><DT
><A
NAME="ini.oci8.old_oci_close_semantics"
></A
><CODE
CLASS="parameter"
>oci8.old_oci_close_semantics</CODE
>
        <A
HREF="language.types.boolean.html"
><B
CLASS="type"
>boolean</B
></A
></DT
><DD
><P
>&#13;         This option controls <A
HREF="function.oci-close.html"
><B
CLASS="function"
>oci_close()</B
></A
> behaviour.
         Enabling it means that <A
HREF="function.oci-close.html"
><B
CLASS="function"
>oci_close()</B
></A
> will do 
         nothing; the connection will not be
         closed until the end of the script. This is for backward
         compatibility only. If you find that you need to enable this 
         setting, you are <SPAN
CLASS="emphasis"
><I
CLASS="emphasis"
>strongly encouraged</I
></SPAN
> to 
         remove the <A
HREF="function.oci-close.html"
><B
CLASS="function"
>oci_close()</B
></A
> calls from your 
         application instead of enabling this option.
        </P
></DD
></DL
></DIV
>
    </P
></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.constants"
>预定义常量</A
></H1
><P
>以下常量由本扩展模块定义,因此只有在本扩展模块被编译到
PHP 中,或者在运行时被动态加载后才有效。</P
><P
></P
><DIV
CLASS="variablelist"
><DL
><DT
><TT
CLASS="constant"
><B
>OCI_DEFAULT</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Statement execution mode. Statement is not committed
     automatically when using this mode.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_DESCRIBE_ONLY</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Statement execution mode. Use this mode if you don't want 
     to execute the query, but get the select-list's description.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_COMMIT_ON_SUCCESS</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Statement execution mode. Statement is automatically committed after
     <A
HREF="function.oci-execute.html"
><B
CLASS="function"
>oci_execute()</B
></A
> call.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_EXACT_FETCH</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Statement fetch mode. Used when the application knows 
     in advance exactly how many rows it will be fetching. 
     This mode turns prefetching off for Oracle release 8 
     or later mode. Cursor is cancelled after the desired 
     rows are fetched and may result in reduced server-side 
     resource usage.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_SYSDATE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_BFILE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding BFILEs.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_CFILEE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding CFILEs.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_CLOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding CLOBs.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_BLOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding BLOBs.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_ROWID</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding ROWIDs.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_CURSOR</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding cursors, previously allocated with <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_NTY</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> when 
     binding named data types. Note: in PHP &#60; 5.0 it was called
     <TT
CLASS="constant"
><B
>OCI_B_SQLT_NTY</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_B_BIN</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_BFILEE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_B_BFILE</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_CFILEE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_B_CFILEE</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_CLOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_B_CLOB</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_BLOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_B_BLOB</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_RDD</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_B_ROWID</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_NTY</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_B_NTY</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_LNG</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> to bind LONG values.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_LBI</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> to bind LONG RAW values.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_BIN</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> to bind RAW values.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_NUM</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     NUMBER.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_INT</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     INTEGER.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_AFC</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     CHAR.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_CHR</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     VARCHAR2.
     Also used with <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_VCS</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     VARCHAR.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_AVC</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     CHARZ.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_STR</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     STRING.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_LVC</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     LONG VARCHAR.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_FLT</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     FLOAT.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_ODT</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-bind-array-by-name.html"
><B
CLASS="function"
>oci_bind_array_by_name()</B
></A
> to bind arrays of
     LONG.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_BDOUBLE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;    </P
></DD
><DT
><TT
CLASS="constant"
><B
>SQLT_BFLOAT</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_FETCHSTATEMENT_BY_COLUMN</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Default mode of <A
HREF="function.oci-fetch-all.html"
><B
CLASS="function"
>oci_fetch_all()</B
></A
>. 
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_FETCHSTATEMENT_BY_ROW</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Alternative mode of <A
HREF="function.oci-fetch-all.html"
><B
CLASS="function"
>oci_fetch_all()</B
></A
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_ASSOC</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-fetch-all.html"
><B
CLASS="function"
>oci_fetch_all()</B
></A
> and
     <A
HREF="function.oci-fetch-array.html"
><B
CLASS="function"
>oci_fetch_array()</B
></A
> to get an associative 
     array as a result.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_NUM</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-fetch-all.html"
><B
CLASS="function"
>oci_fetch_all()</B
></A
> and 
     <A
HREF="function.oci-fetch-array.html"
><B
CLASS="function"
>oci_fetch_array()</B
></A
> to get an enumerated 
     array as a result.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_BOTH</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-fetch-all.html"
><B
CLASS="function"
>oci_fetch_all()</B
></A
> and 
     <A
HREF="function.oci-fetch-array.html"
><B
CLASS="function"
>oci_fetch_array()</B
></A
> to get an array with
     both associative and number indices.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_RETURN_NULLS</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-fetch-array.html"
><B
CLASS="function"
>oci_fetch_array()</B
></A
> to get
     empty array elements if field's value is <TT
CLASS="constant"
><B
>NULL</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_RETURN_LOBS</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-fetch-array.html"
><B
CLASS="function"
>oci_fetch_array()</B
></A
> to get
     value of LOB instead of the descriptor.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_DTYPE_FILE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     This flag tells <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> to
     initialize new FILE descriptor.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_DTYPE_LOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     This flag tells <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> to
     initialize new LOB descriptor.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_DTYPE_ROWID</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     This flag tells <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> to
     initialize new ROWID descriptor.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_D_FILE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_DTYPE_FILE</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_D_LOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_DTYPE_LOB</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_D_ROWID</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     The same as <TT
CLASS="constant"
><B
>OCI_DTYPE_ROWID</B
></TT
>.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_SYSOPER</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
> to connect as SYSOPER
     using external credentials (<A
HREF="ref.oci8.html#ini.oci8.privileged_connect"
>oci8.privileged_connect</A
>
     should be enabled for this).
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_SYSDBA</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
> to connect as SYSDBA
     using external credentials (<A
HREF="ref.oci8.html#ini.oci8.privileged_connect"
>oci8.privileged_connect</A
>
     should be enabled for this).
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_LOB_BUFFER_FREE</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-lob-flush.html"
>OCI-Lob-&#62;flush</A
> to free buffers used.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_TEMP_CLOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-lob-writetemporary.html"
>OCI-Lob-&#62;writeTemporary</A
> to indicate
     explicilty that temporary CLOB should be created.
    </P
></DD
><DT
><TT
CLASS="constant"
><B
>OCI_TEMP_BLOB</B
></TT
> 
    (<A
HREF="language.types.integer.html"
><B
CLASS="type"
>integer</B
></A
>)</DT
><DD
><P
>&#13;     Used with <A
HREF="function.oci-lob-writetemporary.html"
>OCI-Lob-&#62;writeTemporary</A
> to indicate
     explicilty that temporary BLOB should be created.
    </P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.examples"
>范例</A
></H1
><P
>&#13;    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN156428"
></A
><P
><B
>例 1. 基本查询</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /><br />$conn </font><font color="#007700">= </font><font color="#0000BB">oci_connect</font><font color="#007700">(</font><font color="#DD0000">'hr'</font><font color="#007700">, </font><font color="#DD0000">'hr'</font><font color="#007700">, </font><font color="#DD0000">'orcl'</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$conn</font><font color="#007700">) {<br />&nbsp;&nbsp;</font><font color="#0000BB">$e </font><font color="#007700">= </font><font color="#0000BB">oci_error</font><font color="#007700">();<br />&nbsp;&nbsp;print </font><font color="#0000BB">htmlentities</font><font color="#007700">(</font><font color="#0000BB">$e</font><font color="#007700">[</font><font color="#DD0000">'message'</font><font color="#007700">]);<br />&nbsp;&nbsp;exit;<br />}<br /><br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">'SELECT * FROM DEPARTMENTS'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">$stid </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">, </font><font color="#0000BB">$query</font><font color="#007700">);<br />if (!</font><font color="#0000BB">$stid</font><font color="#007700">) {<br />&nbsp;&nbsp;</font><font color="#0000BB">$e </font><font color="#007700">= </font><font color="#0000BB">oci_error</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">);<br />&nbsp;&nbsp;print </font><font color="#0000BB">htmlentities</font><font color="#007700">(</font><font color="#0000BB">$e</font><font color="#007700">[</font><font color="#DD0000">'message'</font><font color="#007700">]);<br />&nbsp;&nbsp;exit;<br />}<br /><br /></font><font color="#0000BB">$r </font><font color="#007700">= </font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#0000BB">OCI_DEFAULT</font><font color="#007700">);<br />if(!</font><font color="#0000BB">$r</font><font color="#007700">) {<br />&nbsp;&nbsp;</font><font color="#0000BB">$e </font><font color="#007700">= </font><font color="#0000BB">oci_error</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">);<br />&nbsp;&nbsp;echo </font><font color="#0000BB">htmlentities</font><font color="#007700">(</font><font color="#0000BB">$e</font><font color="#007700">[</font><font color="#DD0000">'message'</font><font color="#007700">]);<br />&nbsp;&nbsp;exit;<br />}<br /><br />print </font><font color="#DD0000">'&lt;table border="1"&gt;'</font><font color="#007700">;<br />while(</font><font color="#0000BB">$row </font><font color="#007700">= </font><font color="#0000BB">oci_fetch_array</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#0000BB">OCI_RETURN_NULLS</font><font color="#007700">)) {<br />&nbsp;&nbsp;print </font><font color="#DD0000">'&lt;tr&gt;'</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach(</font><font color="#0000BB">$row </font><font color="#007700">as </font><font color="#0000BB">$item</font><font color="#007700">) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print </font><font color="#DD0000">'&lt;td&gt;'</font><font color="#007700">.(</font><font color="#0000BB">$item</font><font color="#007700">?</font><font color="#0000BB">htmlentities</font><font color="#007700">(</font><font color="#0000BB">$item</font><font color="#007700">):</font><font color="#DD0000">'&amp;nbsp;'</font><font color="#007700">).</font><font color="#DD0000">'&lt;/td&gt;'</font><font color="#007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print </font><font color="#DD0000">'&lt;/tr&gt;'</font><font color="#007700">;<br />}<br />print </font><font color="#DD0000">'&lt;/table&gt;'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">oci_close</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">);<br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN156432"
></A
><P
><B
>例 2. 用绑定变量插入</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /><br /></font><font color="#FF8000">// Before running, create the table:<br />//&nbsp;&nbsp;&nbsp;CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));<br /><br /></font><font color="#0000BB">$conn </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">, </font><font color="#DD0000">'orcl'</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">'INSERT INTO MYTABLE VALUES(:myid, :mydata)'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">$stid </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">, </font><font color="#0000BB">$query</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$id </font><font color="#007700">= </font><font color="#0000BB">60</font><font color="#007700">;<br /></font><font color="#0000BB">$data </font><font color="#007700">= </font><font color="#DD0000">'Some data'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#DD0000">':myid'</font><font color="#007700">, </font><font color="#0000BB">$id</font><font color="#007700">);<br /></font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#DD0000">':mydata'</font><font color="#007700">, </font><font color="#0000BB">$data</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$r </font><font color="#007700">= </font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">);<br /><br />if(</font><font color="#0000BB">$r</font><font color="#007700">)<br />&nbsp;&nbsp;print </font><font color="#DD0000">"One row inserted"</font><font color="#007700">;<br /><br /></font><font color="#0000BB">oci_close</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">);<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN156436"
></A
><P
><B
>例 3. 将数据插入到 CLOB 列中</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /><br /></font><font color="#FF8000">// Before running, create the table:<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);<br /><br /></font><font color="#0000BB">$conn </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">, </font><font color="#DD0000">'orcl'</font><font color="#007700">);<br /><br /></font><font color="#0000BB">$mykey </font><font color="#007700">= </font><font color="#0000BB">12343</font><font color="#007700">;&nbsp;&nbsp;</font><font color="#FF8000">// arbitrary key for this example;<br /><br /></font><font color="#0000BB">$sql </font><font color="#007700">= </font><font color="#DD0000">"INSERT INTO mytable (mykey, myclob)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUES (:mykey, EMPTY_CLOB())<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RETURNING myclob INTO :myclob"</font><font color="#007700">;<br /><br /></font><font color="#0000BB">$stid </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">, </font><font color="#0000BB">$sql</font><font color="#007700">);<br /></font><font color="#0000BB">$clob </font><font color="#007700">= </font><font color="#0000BB">oci_new_descriptor</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">, </font><font color="#0000BB">OCI_D_LOB</font><font color="#007700">);<br /></font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#DD0000">":mykey"</font><font color="#007700">, </font><font color="#0000BB">$mykey</font><font color="#007700">, </font><font color="#0000BB">5</font><font color="#007700">);<br /></font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#DD0000">":myclob"</font><font color="#007700">, </font><font color="#0000BB">$clob</font><font color="#007700">, -</font><font color="#0000BB">1</font><font color="#007700">, </font><font color="#0000BB">OCI_B_CLOB</font><font color="#007700">);<br /></font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#0000BB">OCI_DEFAULT</font><font color="#007700">);<br /></font><font color="#0000BB">$clob</font><font color="#007700">-&gt;</font><font color="#0000BB">save</font><font color="#007700">(</font><font color="#DD0000">"A very long string"</font><font color="#007700">);<br /><br /></font><font color="#0000BB">oci_commit</font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Fetching CLOB data<br /><br /></font><font color="#0000BB">$query </font><font color="#007700">= </font><font color="#DD0000">'SELECT myclob FROM mytable WHERE mykey = :mykey'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">$stid </font><font color="#007700">= </font><font color="#0000BB">oci_parse </font><font color="#007700">(</font><font color="#0000BB">$conn</font><font color="#007700">, </font><font color="#0000BB">$query</font><font color="#007700">);<br /></font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#DD0000">":mykey"</font><font color="#007700">, </font><font color="#0000BB">$mykey</font><font color="#007700">, </font><font color="#0000BB">5</font><font color="#007700">);<br /></font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#0000BB">OCI_DEFAULT</font><font color="#007700">);<br /><br />print </font><font color="#DD0000">'&lt;table border="1"&gt;'</font><font color="#007700">;<br />while (</font><font color="#0000BB">$row </font><font color="#007700">= </font><font color="#0000BB">oci_fetch_array</font><font color="#007700">(</font><font color="#0000BB">$stid</font><font color="#007700">, </font><font color="#0000BB">OCI_ASSOC</font><font color="#007700">)) {<br />&nbsp;&nbsp;</font><font color="#0000BB">$result </font><font color="#007700">= </font><font color="#0000BB">$row</font><font color="#007700">[</font><font color="#DD0000">'MYCLOB'</font><font color="#007700">]-&gt;</font><font color="#0000BB">load</font><font color="#007700">();<br />&nbsp;&nbsp;print </font><font color="#DD0000">'&lt;tr&gt;&lt;td&gt;'</font><font color="#007700">.</font><font color="#0000BB">$result</font><font color="#007700">.</font><font color="#DD0000">'&lt;/td&gt;&lt;/tr&gt;'</font><font color="#007700">;<br />}<br />print </font><font color="#DD0000">'&lt;/table&gt;'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
><P
>&#13;    可以很容易地访问存储过程,就和从命令行访问一样。
    <TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
CLASS="EXAMPLE"
><TR
><TD
><DIV
CLASS="example"
><A
NAME="AEN156440"
></A
><P
><B
>例 4. 使用存储过程</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
CELLPADDING="5"
><TR
><TD
><code><font color="#000000">
<font color="#0000BB">&lt;?php<br /></font><font color="#FF8000">// by webmaster at remoterealty dot com<br /></font><font color="#0000BB">$sth </font><font color="#007700">= </font><font color="#0000BB">oci_parse</font><font color="#007700">(</font><font color="#0000BB">$dbh</font><font color="#007700">, </font><font color="#DD0000">"begin sp_newaddress( :address_id, '$firstname',<br /> '$lastname', '$company', '$address1', '$address2', '$city', '$state',<br /> '$postalcode', '$country', :error_code );end;"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// This calls stored procedure sp_newaddress, with :address_id being an<br />// in/out variable and :error_code being an out variable.<br />// Then you do the binding:<br /><br />&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$sth</font><font color="#007700">, </font><font color="#DD0000">":address_id"</font><font color="#007700">, </font><font color="#0000BB">$addr_id</font><font color="#007700">, </font><font color="#0000BB">10</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">oci_bind_by_name</font><font color="#007700">(</font><font color="#0000BB">$sth</font><font color="#007700">, </font><font color="#DD0000">":error_code"</font><font color="#007700">, </font><font color="#0000BB">$errorcode</font><font color="#007700">, </font><font color="#0000BB">10</font><font color="#007700">);<br />&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">oci_execute</font><font color="#007700">(</font><font color="#0000BB">$sth</font><font color="#007700">);<br /><br /></font><font color="#0000BB">?&gt;</font>
</font>
</code></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
>
   </P
></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.connection"
>连接处理</A
></H1
><P
>&#13;    OCI8 扩展提供了 3 个不同函数来连接
    Oracle。取决于用户来使用对自己的应用程序最合适的函数。本节的信息有助于用户作出合适的选择。
   </P
><P
>&#13;    连接到 Oracle
    服务器从所需的时间上来讲是个相当花费的操作。<A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
>
    函数使用了一个连接的持久缓冲区,可以被不同的脚本请求重复使用。这意味着通常在每个
    PHP 进程(或 Apache 子进程)中只需要连接一次。
   </P
><P
>&#13;    如果应用程序连接 Oracle 时对每个 web
    用户都使用了不同的认证信息,则由 <A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
>
    使用的持久缓冲区就用处不大了,因为随着并发用户的增加,到某个程度后会由于要保持太多的空闲连接而对
    Oracle 服务器的整体性能起到逆反的影响。如果应用程序是这样的架构,建议要么用
    <A
HREF="ref.oci8.html#ini.oci8.max_persistent"
>oci8.max_persistent</A
> 和
    <A
HREF="ref.oci8.html#ini.oci8.persistent_timeout"
>oci8.persistent_timeout</A
>
    配置选项(此二者可以使用户控制持久连接缓冲区的大小和生命周期)来协调应用程序,要么用
    <A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
> 来连接。
   </P
><P
>&#13;    <A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
> 和 <A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
>
    都使用了一个连接缓冲区。如果在某个脚本中用同样的参数多次调用
    <A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
>,则第二个和之后的调用会返回已有的连接句柄。<A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
>
    使用的连接缓冲区会在脚本执行完毕后或者明确地关闭了连接句柄时被清空。<A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
>
    有相似的行为,不过其缓冲区独立地维持着并在不同请求之间都存活着。
   </P
><P
>&#13;    要记住此缓冲特性,因为它使两个句柄没有在事务级隔离开来(事实上是同一个连接句柄,因此没有任何方式的隔离)。如果应用程序需要两个独立的,事务级隔离的连接,应该使用
    <A
HREF="function.oci-new-connect.html"
><B
CLASS="function"
>oci_new_connect()</B
></A
>。
   </P
><P
>&#13;    <A
HREF="function.oci-new-connect.html"
><B
CLASS="function"
>oci_new_connect()</B
></A
> 总是创建一个到
    Oracle 服务器的新连接,不管其它连接是否已经存在。高流量的 web
    应用应该避免使用
    <A
HREF="function.oci-new-connect.html"
><B
CLASS="function"
>oci_new_connect()</B
></A
>,尤其是在程序最忙的部分。
   </P
></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="oci8.datatypes"
>驱动程序支持的数据类型</A
></H1
><DIV
CLASS="table"
><A
NAME="AEN156466"
></A
><P
><B
>表 2. 用 <A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> 函数绑定参数时支持以下类型</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><THEAD
><TR
><TH
>类型</TH
><TH
>映射</TH
></TR
></THEAD
><TBODY
><TR
><TD
>SQLT_NTY</TD
><TD
>映射到一个来自 PHP collection 对象的本地 collection
       类型,例如由 <A
HREF="function.oci-new-collection.html"
><B
CLASS="function"
>oci_new_collection()</B
></A
> 创建的。</TD
></TR
><TR
><TD
>SQLT_BFILEE</TD
><TD
>映射到一个本地的 descriptor,例如由
        <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> 创建的。</TD
></TR
><TR
><TD
>SQLT_CFILEE</TD
><TD
>映射到一个本地的 descriptor,例如由
        <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> 创建的。</TD
></TR
><TR
><TD
>SQLT_CLOB</TD
><TD
>映射到一个本地的 descriptor,例如由
        <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> 创建的。</TD
></TR
><TR
><TD
>SQLT_BLOB</TD
><TD
>映射到一个本地的 descriptor,例如由
        <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> 创建的。</TD
></TR
><TR
><TD
>SQLT_RDD</TD
><TD
>映射到一个本地的 descriptor,例如由
        <A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> 创建的。</TD
></TR
><TR
><TD
>SQLT_NUM</TD
><TD
>将 PHP 参数转换为 C 语言的 long 类型,并绑定为其值。</TD
></TR
><TR
><TD
>SQLT_RSET</TD
><TD
>映射到一个本地的 statement 句柄,例如由
        <A
HREF="function.oci-parse.html"
><B
CLASS="function"
>oci_parse()</B
></A
> 创建或从其它 OCI 查询取得的。</TD
></TR
><TR
><TD
>SQLT_CHR 以及任何其它类型</TD
><TD
>将 PHP 参数转换为字符串类型并绑定为字符串。</TD
></TR
></TBODY
></TABLE
></DIV
><DIV
CLASS="table"
><A
NAME="AEN156509"
></A
><P
><B
>表 3. 在从结果集中取得列时支持以下类型</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><COL><COL><THEAD
><TR
><TH
>类型</TH
><TH
>映射</TH
></TR
></THEAD
><TBODY
><TR
><TD
>SQLT_RSET</TD
><TD
>创建一个 oci statement 资源来代表指针。</TD
></TR
><TR
><TD
>SQLT_RDD</TD
><TD
>创建一个 ROWID 对象。</TD
></TR
><TR
><TD
>SQLT_BLOB</TD
><TD
>创建一个 LOB 对象。</TD
></TR
><TR
><TD
>SQLT_CLOB</TD
><TD
>创建一个 LOB 对象。</TD
></TR
><TR
><TD
>SQLT_BFILE</TD
><TD
>创建一个 LOB 对象。</TD
></TR
><TR
><TD
>SQLT_LNG</TD
><TD
>限制为 SQLT_CHR,返回为字符串。</TD
></TR
><TR
><TD
>SQLT_LBI</TD
><TD
>限制为 SQLT_BIN,返回为字符串。</TD
></TR
><TR
><TD
>任何其它类型</TD
><TD
>限制为 SQLT_CHR,返回为字符串。</TD
></TR
></TBODY
></TABLE
></DIV
></DIV
></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>目录</B
></DT
><DT
><A
HREF="function.oci-bind-array-by-name.html"
>oci_bind_array_by_name</A
>&nbsp;--&nbsp;Binds PHP array to Oracle PL/SQL array by name</DT
><DT
><A
HREF="function.oci-bind-by-name.html"
>oci_bind_by_name</A
>&nbsp;--&nbsp;绑定一个 PHP 变量到一个 Oracle 位置标志符</DT
><DT
><A
HREF="function.oci-cancel.html"
>oci_cancel</A
>&nbsp;--&nbsp;取消从游标读取数据</DT
><DT
><A
HREF="function.oci-close.html"
>oci_close</A
>&nbsp;--&nbsp;关闭 Oracle 连接</DT
><DT
><A
HREF="function.oci-collection-append.html"
>OCI-Collection-&#62;append</A
>&nbsp;--&nbsp;Appends element to the collection</DT
><DT
><A
HREF="function.oci-collection-assign.html"
>OCI-Collection-&#62;assign</A
>&nbsp;--&nbsp;Assigns a value to the collection from another existing collection</DT
><DT
><A
HREF="function.oci-collection-element-assign.html"
>OCI-Collection-&#62;assignElem</A
>&nbsp;--&nbsp;Assigns a value to the element of the collection</DT
><DT
><A
HREF="function.oci-collection-free.html"
>OCI-Collection-&#62;free</A
>&nbsp;--&nbsp;Frees the resources associated with the collection object</DT
><DT
><A
HREF="function.oci-collection-element-get.html"
>OCI-Collection-&#62;getElem</A
>&nbsp;--&nbsp;Returns value of the element</DT
><DT
><A
HREF="function.oci-collection-max.html"
>OCI-Collection-&#62;max</A
>&nbsp;--&nbsp;Returns the maximum number of elements in the collection</DT
><DT
><A
HREF="function.oci-collection-size.html"
>OCI-Collection-&#62;size</A
>&nbsp;--&nbsp;Returns size of the collection</DT
><DT
><A
HREF="function.oci-collection-trim.html"
>OCI-Collection-&#62;trim</A
>&nbsp;--&nbsp;Trims elements from the end of the collection</DT
><DT
><A
HREF="function.oci-commit.html"
>oci_commit</A
>&nbsp;--&nbsp;提交未执行的事务处理</DT
><DT
><A
HREF="function.oci-connect.html"
>oci_connect</A
>&nbsp;--&nbsp;建立一个到 Oracle 服务器的连接</DT
><DT
><A
HREF="function.oci-define-by-name.html"
>oci_define_by_name</A
>&nbsp;--&nbsp;在 SELECT 中使用 PHP 变量作为定义的步骤</DT
><DT
><A
HREF="function.oci-error.html"
>oci_error</A
>&nbsp;--&nbsp;返回上一个错误</DT
><DT
><A
HREF="function.oci-execute.html"
>oci_execute</A
>&nbsp;--&nbsp;执行一条语句</DT
><DT
><A
HREF="function.oci-fetch-all.html"
>oci_fetch_all</A
>&nbsp;--&nbsp;获取结果数据的所有行到一个数组</DT
><DT
><A
HREF="function.oci-fetch-array.html"
>oci_fetch_array</A
>&nbsp;--&nbsp;Returns the next row from the result data as an associative or
   numeric array, or both
  </DT
><DT
><A
HREF="function.oci-fetch-assoc.html"
>oci_fetch_assoc</A
>&nbsp;--&nbsp;Returns the next row from the result data as an associative array</DT
><DT
><A
HREF="function.oci-fetch-object.html"
>oci_fetch_object</A
>&nbsp;--&nbsp;Returns the next row from the result data as an object</DT
><DT
><A
HREF="function.oci-fetch-row.html"
>oci_fetch_row</A
>&nbsp;--&nbsp;Returns the next row from the result data as a numeric array</DT
><DT
><A
HREF="function.oci-fetch.html"
>oci_fetch</A
>&nbsp;--&nbsp;Fetches the next row into result-buffer</DT
><DT
><A
HREF="function.oci-field-is-null.html"
>oci_field_is_null</A
>&nbsp;--&nbsp;检查字段是否为 <TT
CLASS="constant"
><B
>NULL</B
></TT
></DT
><DT
><A
HREF="function.oci-field-name.html"
>oci_field_name</A
>&nbsp;--&nbsp;返回字段名</DT
><DT
><A
HREF="function.oci-field-precision.html"
>oci_field_precision</A
>&nbsp;--&nbsp;返回字段精度</DT
><DT
><A
HREF="function.oci-field-scale.html"
>oci_field_scale</A
>&nbsp;--&nbsp;返回字段范围</DT
><DT
><A
HREF="function.oci-field-size.html"
>oci_field_size</A
>&nbsp;--&nbsp;返回字段大小</DT
><DT
><A
HREF="function.oci-field-type-raw.html"
>oci_field_type_raw</A
>&nbsp;--&nbsp;返回字段的原始 Oracle 数据类型</DT
><DT
><A
HREF="function.oci-field-type.html"
>oci_field_type</A
>&nbsp;--&nbsp;返回字段的数据类型</DT
><DT
><A
HREF="function.oci-free-statement.html"
>oci_free_statement</A
>&nbsp;--&nbsp;释放关联于语句或游标的所有资源</DT
><DT
><A
HREF="function.oci-internal-debug.html"
>oci_internal_debug</A
>&nbsp;--&nbsp;打开或关闭内部调试输出</DT
><DT
><A
HREF="function.oci-lob-append.html"
>OCI-Lob-&#62;append</A
>&nbsp;--&nbsp;Appends data from the large object to another large object</DT
><DT
><A
HREF="function.oci-lob-close.html"
>OCI-Lob-&#62;close</A
>&nbsp;--&nbsp;Closes LOB descriptor</DT
><DT
><A
HREF="function.oci-lob-copy.html"
>oci_lob_copy</A
>&nbsp;--&nbsp;Copies large object</DT
><DT
><A
HREF="function.oci-lob-eof.html"
>OCI-Lob-&#62;eof</A
>&nbsp;--&nbsp;Tests for end-of-file on a large object's descriptor</DT
><DT
><A
HREF="function.oci-lob-erase.html"
>OCI-Lob-&#62;erase</A
>&nbsp;--&nbsp;Erases a specified portion of the internal LOB data</DT
><DT
><A
HREF="function.oci-lob-export.html"
>OCI-Lob-&#62;export</A
>&nbsp;--&nbsp;Exports LOB's contents to a file</DT
><DT
><A
HREF="function.oci-lob-flush.html"
>OCI-Lob-&#62;flush</A
>&nbsp;--&nbsp;Flushes/writes buffer of the LOB to the server</DT
><DT
><A
HREF="function.oci-lob-free.html"
>OCI-Lob-&#62;free</A
>&nbsp;--&nbsp;Frees resources associated with the LOB descriptor</DT
><DT
><A
HREF="function.oci-lob-getbuffering.html"
>OCI-Lob-&#62;getBuffering</A
>&nbsp;--&nbsp;Returns current state of buffering for the large object</DT
><DT
><A
HREF="function.oci-lob-import.html"
>OCI-Lob-&#62;import</A
>&nbsp;--&nbsp;Imports file data to the LOB</DT
><DT
><A
HREF="function.oci-lob-is-equal.html"
>oci_lob_is_equal</A
>&nbsp;--&nbsp;Compares two LOB/FILE locators for equality</DT
><DT
><A
HREF="function.oci-lob-load.html"
>OCI-Lob-&#62;load</A
>&nbsp;--&nbsp;Returns large object's contents</DT
><DT
><A
HREF="function.oci-lob-read.html"
>OCI-Lob-&#62;read</A
>&nbsp;--&nbsp;Reads part of the large object</DT
><DT
><A
HREF="function.oci-lob-rewind.html"
>OCI-Lob-&#62;rewind</A
>&nbsp;--&nbsp;Moves the internal pointer to the beginning of the large object</DT
><DT
><A
HREF="function.oci-lob-save.html"
>OCI-Lob-&#62;save</A
>&nbsp;--&nbsp;Saves data to the large object</DT
><DT
><A
HREF="function.oci-lob-savefile.html"
>OCI-Lob-&#62;saveFile</A
>&nbsp;--&nbsp;别名 <A
HREF="function.oci-lob-import.html"
><B
CLASS="function"
>oci_lob_import()</B
></A
></DT
><DT
><A
HREF="function.oci-lob-seek.html"
>OCI-Lob-&#62;seek</A
>&nbsp;--&nbsp;Sets the internal pointer of the large object</DT
><DT
><A
HREF="function.oci-lob-setbuffering.html"
>OCI-Lob-&#62;setBuffering</A
>&nbsp;--&nbsp;Changes current state of buffering for the large object</DT
><DT
><A
HREF="function.oci-lob-size.html"
>OCI-Lob-&#62;size</A
>&nbsp;--&nbsp;Returns size of large object</DT
><DT
><A
HREF="function.oci-lob-tell.html"
>OCI-Lob-&#62;tell</A
>&nbsp;--&nbsp;Returns current position of internal pointer of large object</DT
><DT
><A
HREF="function.oci-lob-truncate.html"
>OCI-Lob-&#62;truncate</A
>&nbsp;--&nbsp;Truncates large object</DT
><DT
><A
HREF="function.oci-lob-write.html"
>OCI-Lob-&#62;write</A
>&nbsp;--&nbsp;Writes data to the large object</DT
><DT
><A
HREF="function.oci-lob-writetemporary.html"
>OCI-Lob-&#62;writeTemporary</A
>&nbsp;--&nbsp;Writes temporary large object</DT
><DT
><A
HREF="function.oci-lob-writetofile.html"
>OCI-Lob-&#62;writeToFile</A
>&nbsp;--&nbsp;别名 <A
HREF="function.oci-lob-export.html"
><B
CLASS="function"
>oci_lob_export()</B
></A
></DT
><DT
><A
HREF="function.oci-new-collection.html"
>oci_new_collection</A
>&nbsp;--&nbsp;分配新的 collection 对象</DT
><DT
><A
HREF="function.oci-new-connect.html"
>oci_new_connect</A
>&nbsp;--&nbsp;建定一个到 Oracle 服务器的新连接</DT
><DT
><A
HREF="function.oci-new-cursor.html"
>oci_new_cursor</A
>&nbsp;--&nbsp;分配并返回一个新的游标(语句句柄)</DT
><DT
><A
HREF="function.oci-new-descriptor.html"
>oci_new_descriptor</A
>&nbsp;--&nbsp;初始化一个新的空 LOB 或 FILE 描述符</DT
><DT
><A
HREF="function.oci-num-fields.html"
>oci_num_fields</A
>&nbsp;--&nbsp;返回结果列的数目</DT
><DT
><A
HREF="function.oci-num-rows.html"
>oci_num_rows</A
>&nbsp;--&nbsp;返回语句执行后受影响的行数</DT
><DT
><A
HREF="function.oci-parse.html"
>oci_parse</A
>&nbsp;--&nbsp;配置 Oracle 语句预备执行</DT
><DT
><A
HREF="function.oci-password-change.html"
>oci_password_change</A
>&nbsp;--&nbsp;修改 Oracle 用户的密码</DT
><DT
><A
HREF="function.oci-pconnect.html"
>oci_pconnect</A
>&nbsp;--&nbsp;使用一个持久连接连到 Oracle 数据库</DT
><DT
><A
HREF="function.oci-result.html"
>oci_result</A
>&nbsp;--&nbsp;返回所取得行中字段的值</DT
><DT
><A
HREF="function.oci-rollback.html"
>oci_rollback</A
>&nbsp;--&nbsp;回滚未提交的事务</DT
><DT
><A
HREF="function.oci-server-version.html"
>oci_server_version</A
>&nbsp;--&nbsp;返回服务器版本信息</DT
><DT
><A
HREF="function.oci-set-prefetch.html"
>oci_set_prefetch</A
>&nbsp;--&nbsp;设置预提取行数</DT
><DT
><A
HREF="function.oci-statement-type.html"
>oci_statement_type</A
>&nbsp;--&nbsp;返回 OCI 语句的类型</DT
><DT
><A
HREF="function.ocibindbyname.html"
>ocibindbyname</A
>&nbsp;--&nbsp;<A
HREF="function.oci-bind-by-name.html"
><B
CLASS="function"
>oci_bind_by_name()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicancel.html"
>ocicancel</A
>&nbsp;--&nbsp;<A
HREF="function.oci-cancel.html"
><B
CLASS="function"
>oci_cancel()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicloselob.html"
>ocicloselob</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-close.html"
>OCI-Lob-&#62;close</A
> 的别名</DT
><DT
><A
HREF="function.ocicollappend.html"
>ocicollappend</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-append.html"
>OCI-Collection-&#62;append</A
> 的别名</DT
><DT
><A
HREF="function.ocicollassign.html"
>ocicollassign</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-assign.html"
>OCI-Collection-&#62;assign</A
> 的别名</DT
><DT
><A
HREF="function.ocicollassignelem.html"
>ocicollassignelem</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-element-assign.html"
>OCI-Collection-&#62;assignElem</A
> 的别名</DT
><DT
><A
HREF="function.ocicollgetelem.html"
>ocicollgetelem</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-element-get.html"
>OCI-Collection-&#62;getElem</A
> 的别名</DT
><DT
><A
HREF="function.ocicollmax.html"
>ocicollmax</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-max.html"
>OCI-Collection-&#62;max</A
> 的别名</DT
><DT
><A
HREF="function.ocicollsize.html"
>ocicollsize</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-size.html"
>OCI-Collection-&#62;size</A
> 的别名</DT
><DT
><A
HREF="function.ocicolltrim.html"
>ocicolltrim</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-trim.html"
>OCI-Collection-&#62;trim</A
> 的别名</DT
><DT
><A
HREF="function.ocicolumnisnull.html"
>ocicolumnisnull</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-is-null.html"
><B
CLASS="function"
>oci_field_is_null()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicolumnname.html"
>ocicolumnname</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-name.html"
><B
CLASS="function"
>oci_field_name()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicolumnprecision.html"
>ocicolumnprecision</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-precision.html"
><B
CLASS="function"
>oci_field_precision()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicolumnscale.html"
>ocicolumnscale</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-scale.html"
><B
CLASS="function"
>oci_field_scale()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicolumnsize.html"
>ocicolumnsize</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-size.html"
><B
CLASS="function"
>oci_field_size()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicolumntype.html"
>ocicolumntype</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-type.html"
><B
CLASS="function"
>oci_field_type()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicolumntyperaw.html"
>ocicolumntyperaw</A
>&nbsp;--&nbsp;<A
HREF="function.oci-field-type-raw.html"
><B
CLASS="function"
>oci_field_type_raw()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocicommit.html"
>ocicommit</A
>&nbsp;--&nbsp;<A
HREF="function.oci-commit.html"
><B
CLASS="function"
>oci_commit()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocidefinebyname.html"
>ocidefinebyname</A
>&nbsp;--&nbsp;<A
HREF="function.oci-define-by-name.html"
><B
CLASS="function"
>oci_define_by_name()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocierror.html"
>ocierror</A
>&nbsp;--&nbsp;<A
HREF="function.oci-error.html"
><B
CLASS="function"
>oci_error()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociexecute.html"
>ociexecute</A
>&nbsp;--&nbsp;<A
HREF="function.oci-execute.html"
><B
CLASS="function"
>oci_execute()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocifetch.html"
>ocifetch</A
>&nbsp;--&nbsp;<A
HREF="function.oci-fetch.html"
><B
CLASS="function"
>oci_fetch()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocifetchinto.html"
>ocifetchinto</A
>&nbsp;--&nbsp;获取下一行到一个数组</DT
><DT
><A
HREF="function.ocifetchstatement.html"
>ocifetchstatement</A
>&nbsp;--&nbsp;<A
HREF="function.oci-fetch-all.html"
><B
CLASS="function"
>oci_fetch_all()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocifreecollection.html"
>ocifreecollection</A
>&nbsp;--&nbsp;<A
HREF="function.oci-collection-free.html"
>OCI-Collection-&#62;free</A
> 的别名</DT
><DT
><A
HREF="function.ocifreecursor.html"
>ocifreecursor</A
>&nbsp;--&nbsp;<A
HREF="function.oci-free-statement.html"
><B
CLASS="function"
>oci_free_statement()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocifreedesc.html"
>ocifreedesc</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-free.html"
>OCI-Lob-&#62;free</A
> 的别名</DT
><DT
><A
HREF="function.ocifreestatement.html"
>ocifreestatement</A
>&nbsp;--&nbsp;<A
HREF="function.oci-free-statement.html"
><B
CLASS="function"
>oci_free_statement()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociinternaldebug.html"
>ociinternaldebug</A
>&nbsp;--&nbsp;<A
HREF="function.oci-internal-debug.html"
><B
CLASS="function"
>oci_internal_debug()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociloadlob.html"
>ociloadlob</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-load.html"
>OCI-Lob-&#62;load</A
> 的别名</DT
><DT
><A
HREF="function.ocilogoff.html"
>ocilogoff</A
>&nbsp;--&nbsp;<A
HREF="function.oci-close.html"
><B
CLASS="function"
>oci_close()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocilogon.html"
>ocilogon</A
>&nbsp;--&nbsp;<A
HREF="function.oci-connect.html"
><B
CLASS="function"
>oci_connect()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocinewcollection.html"
>ocinewcollection</A
>&nbsp;--&nbsp;<A
HREF="function.oci-new-collection.html"
><B
CLASS="function"
>oci_new_collection()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocinewcursor.html"
>ocinewcursor</A
>&nbsp;--&nbsp;<A
HREF="function.oci-new-cursor.html"
><B
CLASS="function"
>oci_new_cursor()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocinewdescriptor.html"
>ocinewdescriptor</A
>&nbsp;--&nbsp;<A
HREF="function.oci-new-descriptor.html"
><B
CLASS="function"
>oci_new_descriptor()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocinlogon.html"
>ocinlogon</A
>&nbsp;--&nbsp;<A
HREF="function.oci-new-connect.html"
><B
CLASS="function"
>oci_new_connect()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocinumcols.html"
>ocinumcols</A
>&nbsp;--&nbsp;<A
HREF="function.oci-num-fields.html"
><B
CLASS="function"
>oci_num_fields()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociparse.html"
>ociparse</A
>&nbsp;--&nbsp;<A
HREF="function.oci-parse.html"
><B
CLASS="function"
>oci_parse()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociplogon.html"
>ociplogon</A
>&nbsp;--&nbsp;<A
HREF="function.oci-pconnect.html"
><B
CLASS="function"
>oci_pconnect()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociresult.html"
>ociresult</A
>&nbsp;--&nbsp;<A
HREF="function.oci-result.html"
><B
CLASS="function"
>oci_result()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocirollback.html"
>ocirollback</A
>&nbsp;--&nbsp;<A
HREF="function.oci-rollback.html"
><B
CLASS="function"
>oci_rollback()</B
></A
> 别名</DT
><DT
><A
HREF="function.ocirowcount.html"
>ocirowcount</A
>&nbsp;--&nbsp;<A
HREF="function.oci-num-rows.html"
><B
CLASS="function"
>oci_num_rows()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocisavelob.html"
>ocisavelob</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-save.html"
>OCI-Lob-&#62;save</A
> 的别名</DT
><DT
><A
HREF="function.ocisavelobfile.html"
>ocisavelobfile</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-import.html"
>OCI-Lob-&#62;import</A
> 的别名</DT
><DT
><A
HREF="function.ociserverversion.html"
>ociserverversion</A
>&nbsp;--&nbsp;<A
HREF="function.oci-server-version.html"
><B
CLASS="function"
>oci_server_version()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocisetprefetch.html"
>ocisetprefetch</A
>&nbsp;--&nbsp;<A
HREF="function.oci-set-prefetch.html"
><B
CLASS="function"
>oci_set_prefetch()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ocistatementtype.html"
>ocistatementtype</A
>&nbsp;--&nbsp;<A
HREF="function.oci-statement-type.html"
><B
CLASS="function"
>oci_statement_type()</B
></A
> 的别名</DT
><DT
><A
HREF="function.ociwritelobtofile.html"
>ociwritelobtofile</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-export.html"
>OCI-Lob-&#62;export</A
> 的别名</DT
><DT
><A
HREF="function.ociwritetemporarylob.html"
>ociwritetemporarylob</A
>&nbsp;--&nbsp;<A
HREF="function.oci-lob-writetemporary.html"
>OCI-Lob-&#62;writeTemporary</A
> 的别名</DT
></DL
></DIV
></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="function.overload.html"
ACCESSKEY="P"
>上一页</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>起始页</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="function.oci-bind-array-by-name.html"
ACCESSKEY="N"
>下一页</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>overload</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="funcref.html"
ACCESSKEY="U"
>上一级</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>oci_bind_array_by_name</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>