goba            Fri Mar 29 09:48:24 2002 EDT

  Modified files:              
    /phpdoc/hu/functions        oci8.xml 
  Log:
  Adding 50% translated file
  
  
Index: phpdoc/hu/functions/oci8.xml
diff -u /dev/null phpdoc/hu/functions/oci8.xml:1.5
--- /dev/null   Fri Mar 29 09:48:24 2002
+++ phpdoc/hu/functions/oci8.xml        Fri Mar 29 09:48:23 2002
@@ -0,0 +1,1926 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<!-- EN-Revision: 1.44 Maintainer: goba Status: half translated -->
+ <reference id="ref.oci8">
+  <title>Oracle 8 függvények</title>
+  <titleabbrev>OCI8</titleabbrev>
+  <partintro>
+   <para>
+    Ezekkel a függvényekkel az Oracle8 és Oracle7 adatbázisokat
+    érheted el, az Oracle8 Call-Interface (OCI8) használatával.
+    Az Oracle8 kliens könyvtárakra szükséged lesz, ha szeretnéd
+    ezt a kiterjesztést használni.
+   </para>
+   <para>
+    Ez a kiterjesztés rugalmasabb, mint a hagyományos Oracle
+    kiterjesztés. Lehetővé teszi globális és lokális PHP változók
+    kötését Oracle értékekhez, teljes LOB, FILE és ROWID
+    támogatással rendelkezik, és lehetővé teszi a felhasználó
+    által megadott változók használatát.
+   </para>
+   <para>
+    Mielőtt elkezdenéd használni ezt a kiterjesztést, győződj meg
+    róla, hogy az Oracle környezeti változók helyesen be vannak
+    állítva az Oracle és a webszerver felhasználó számára. Az
+    értékek, amiket esetleg be kell állítanod a kövezkezők:
+    <itemizedlist>
+     <listitem>
+      <simpara>
+       ORACLE_HOME
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara>
+       ORACLE_SID
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara>
+       LD_PRELOAD
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara>
+       LD_LIBRARY_PATH
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara>
+       NLS_LANG
+      </simpara>
+     </listitem>
+     <listitem>
+      <simpara>
+       ORA_NLS33
+      </simpara>
+     </listitem>
+    </itemizedlist>
+   </para>
+   <para>
+    Miután beállítottad a könyezeti változókat a webszerver
+    felhasználó számára, add hozzá a webszerver felhasználót (nobody,
+    www) az oracle csoporthoz.
+   </para>
+   <note>
+    <title>Ha a webszerver nem indul el, vagy lefagy induláskor</title>
+    <para>
+     Ellenőrizd, hogy az Apache szervert a pthread
+     könyvtárral fordítottad-e:
+    </para>
+    <para>
+     <informalexample>
+      <screen>
+<![CDATA[
+# ldd /www/apache/bin/httpd 
+    libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
+    libm.so.6 => /lib/libm.so.6 (0x4002f000)
+    libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
+    libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
+    libc.so.6 => /lib/libc.so.6 (0x4007e000)
+    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
+]]>
+      </screen>
+     </informalexample>
+    </para>
+    <para>
+     Ha a libpthread nincs bent a listában, újra kell
+     telepítened az Apache szervert:
+    </para>
+    <para>
+     <informalexample>
+      <screen>
+<![CDATA[
+# cd /usr/src/apache_1.3.xx
+# make clean
+# LIBS=-lpthread ./config.status
+# make
+# make install
+]]>
+      </screen>
+     </informalexample>
+    </para>
+   </note>
+   <para>
+    <example>
+     <title>OCI tippek</title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+// A tippeket [EMAIL PROTECTED] küldte be
+
+// Használd az OCI_DEFAULT opciót a végrehajtásnál,
+// ha késleltetni szeternéd a végrehjtást
+OCIExecute($stmt, OCI_DEFAULT);
+
+// Lekérdezett adatok használatához (fetch után):
+
+$result = OCIResult($stmt, $n);
+if (is_object($result)) { $result = $result->load(); }
+
+// INSERT vagy UPDATE parancsokhoz:
+
+$sql = "insert into table (mezo1, mezo2) values (mezo1 = 'érték',
+ mezo2 = empty_clob()) returning mezo2 into :mezo2";
+OCIParse($conn, $sql);
+$clob = OCINewDescriptor($conn, OCI_D_LOB);
+OCIBindByName($stmt, ":mezo2", &$clob, -1, OCI_B_CLOB);
+OCIExecute($stmt, OCI_DEFAULT);
+$clob->save("valami szöveg");
+OCICommit($conn);
+
+?>
+]]>
+     </programlisting>
+    </example>
+   </para>
+   <para>
+    Könnyen elérheted a tárolt eljárásokat, éppen úgy,
+    mint parancssorból.
+    <example>
+     <title>Tárolt eljárások használata</title>
+      <programlisting role="php">
+<![CDATA[
+<?php
+// [EMAIL PROTECTED] küldte be a következő kódot:
+
+$sth = OCIParse ( $dbh, "begin sp_newaddress( :cimid, '$keresztnev',
+ '$csaladinev', '$ceg', '$cim1', '$cim2', '$varos', '$megye',
+ '$irszam', '$orszag', :hibakod );end;" );
+
+// Ez a parancs meghívja az sp_newaddress nevű tárolt eljárást,
+// a :cimid ki és bemeneti változóval és a :hibakod kimeneti
+// változóval. Ezután a változó kötéseket kell elvégezni:
+
+   OCIBindByName ( $sth, ":cimid", $cimid, 10 );
+   OCIBindByName ( $sth, ":hibakod", $hibakod, 10 );
+   OCIExecute ( $sth );
+
+?>
+]]>
+     </programlisting>
+    </example>
+   </para>
+  </partintro>
+
+  <refentry id="function.ocidefinebyname">
+   <refnamediv>
+    <refname>OCIDefineByName</refname>
+    <refpurpose>
+     PHP változó használata a definiálási lépésben egy SELECT számára
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIDefineByName</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>string</type><parameter>Column-Name</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>variable</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>type</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Az <function>OCIDefineByName</function> SQL oszlopok lekérdezését
+     köti felhasználó által definiált PHP változókhoz. Figyelj arra,
+     hogy az Oracle CSUPA NAGYBETŰS neveket használ, de ennek
+     ellenére írhatsz a SELECT-ben kisbetűs neveket is. Az 
+     <function>OCIDefineByName</function> függvény a 
+     <parameter>Column-Name</parameter> paraméterben a helyes
+     nagybetűs írást várja. Ha olyan változót definiálsz, ami nem
+     létezik a SELECT eredménytáblájában, semmilyen hibát sem kapsz!
+    </para>
+    <para>
+     Ha absztrakt adattípust kell definiálnod (például LOB, ROWID vagy
+     BFILE), először az <function>OCINewDescriptor</function>
+     függvényt kell használnod. Lásd még az <function>OCIBindByName</function>
+     függvényt.
+    </para>
+     <example>
+      <title>OCIDefineByName</title>
+      <programlisting>
+<![CDATA[
+<?php
+/* OCIDefineByName példa - [EMAIL PROTECTED] (980219) */
+
+$conn = OCILogon("scott","tiger");
+
+$stmt = OCIParse($conn,"select dolgozoid, dnev from dolgozok");
+
+/* ennek az ociexecute ELŐTT KELL szerepelnie! */
+
+OCIDefineByName($stmt, "DOLGOZOID", $dolgozoid);
+OCIDefineByName($stmt, "DNEV",      $dnev);
+
+OCIExecute($stmt);
+
+while (OCIFetch($stmt)) {
+    echo "Dolgozó azonosító:" . $dolgozoid . "\n";
+    echo "Dolgozó név:"       . $dnev      . "\n";
+}
+
+OCIFreeStatement($stmt);
+OCILogoff($conn);
+?>
+]]>
+     </programlisting>
+    </example>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocibindbyname">
+   <refnamediv>
+    <refname>OCIBindByName</refname>
+    <refpurpose>
+     PHP változó kötése egy Oracle értékhez
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIBindByName</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>string</type><parameter>ph_name</parameter></methodparam>
+      <methodparam><type>mixed 
+&amp;</type><parameter>variable</parameter></methodparam>
+      <methodparam><type>int</type><parameter>length</parameter></methodparam>
+      <methodparam choice="opt"><type>int</type><parameter>
+       type</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Az <function>OCIBindByName</function> a <parameter>variable</parameter>
+     paraméterben megadott PHP változót köti a <parameter>ph_name</parameter>
+     paraméterben megadott Oracle értékez (placeholder-hez). Akár bemeneti,
+     akár kimeneti értékként kerül felhasználásra, ez futásidőben dől el,
+     és a szükséges tárolási kapacitás lefoglalásra kerül. A 
+     <parameter>length</parameter> paraméter adja meg a kötés
+     maximális méretét. Ha a <parameter>length</parameter> paramétert -1
+     értékkel adod meg, az <function>OCIBindByName</function> a 
+     <parameter>variable</parameter> paraméterben megadott változó
+     aktuális hosszát veszi maximum méretnek.
+    </para>
+    <para>
+     Ha absztrakt adattípust kell kötnöd (például LOB, ROWID vagy BFILE),
+     először az <function>OCINewDescriptor</function> függvényt kell
+     használnod. A <parameter>length</parameter> paraméternek nincs
+     jelentősége absztrakt adattípusok használatakor, mindenképpen -1
+     értékre kell állítani ebben az esetben. A
+     <parameter>type</parameter> paraméter adja meg az Oracle-nek,
+     hogy milyen leírót szeretnél használni. Lehetséges értékek:
+     OCI_B_FILE (Binary-File), OCI_B_CFILE (Character-File),
+     OCI_B_CLOB (Character-LOB), OCI_B_BLOB (Binary-LOB)
+     és OCI_B_ROWID (ROWID).
+    </para>
+    <example>
+     <title>OCIBindByName</title>
+     <programlisting>
+<![CDATA[
+<?php
+/* OCIBindByName példa - [EMAIL PROTECTED] (980221)
+  Három rekord felvétele a "dolgozok" táblába, és a ROWID
+  használata az adatok frissítésére rögtön a felvitel után.
+*/
+
+$conn = OCILogon("scott","tiger");
+
+$stmt = OCIParse($conn,"insert into dolgozok (dolgozoid, dnev) ".
+                                          "values (:dolgozoid,:dnev) ".
+                                          "returning ROWID into :rid");
+
+$adatok = array(1111 => "Larry", 2222 => "Bill", 3333 => "Jim");
+
+$rowid = OCINewDescriptor($conn, OCI_D_ROWID);
+
+OCIBindByName($stmt,":dolgozoid",&$dolgozoid, 32);
+OCIBindByName($stmt,":dnev",     &$dnev,      32);
+OCIBindByName($stmt,":rid",      &$rowid,     -1, OCI_B_ROWID);
+
+$update = OCIParse($conn,
+              "update dolgozok set fizetes = :fizetes ".
+              "where ROWID = :rid");
+OCIBindByName($update,":rid",     &$rowid,     -1, OCI_B_ROWID);
+OCIBindByName($update,":fizetes", &$fizetes,   32);
+
+$fizetes = 10000;
+
+while (list($dolgozoid,$dnev) = each($adatok)) {
+       OCIExecute($stmt);
+       OCIExecute($update);
+} 
+
+$rowid->free();
+
+OCIFreeStatement($update);
+OCIFreeStatement($stmt);
+
+$stmt = OCIParse($conn,"select * from dolgozok where dolgozoid in (1111,2222,3333)");
+OCIExecute($stmt);
+while (OCIFetchInto($stmt, &$tomb, OCI_ASSOC)) {
+       var_dump($tomb);
+}
+OCIFreeStatement($stmt);
+
+/* Töröljük a "szemetünket" a dolgozok táblából.... */
+$stmt = OCIParse($conn,"delete from dolgozok where dolgozoid in (1111,2222,3333)");
+OCIExecute($stmt);
+OCIFreeStatement($stmt);
+
+OCILogoff($conn);
+?>
+]]>
+     </programlisting>
+    </example>
+    <warning>
+     <para>
+      Nem jó ötlet a "magic quotes" szolgáltatást, és az
+      <function>OciBindByName</function> függvényt egyszerre
+      használni, mivel semmilyen átalakítás nem szükséges a
+      változókon, és bármilyen extra idézőjel, ami az értékekben
+      megjelenik az adatbázisba kerül. Az 
+      <function>OciBindByName</function> nem tud különbséget
+      tenni a korábban a karaktersorozatban lévő és a
+      "magic quotes" átalakítás során bekerült idézőjelek
+      között.
+     </para> 
+    </warning>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.ocilogon">
+   <refnamediv>
+    <refname>OCILogon</refname>
+    <refpurpose>Oracle adatbázis kapcsolat létesítése</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCILogon</methodname>
+      <methodparam><type>string</type><parameter>username</parameter></methodparam>
+      <methodparam><type>string</type><parameter>password</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>db</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Az <function>OCILogon</function> egy kapcsolat azonosítóval tér
+     vissza, amire a legtöbb OCI hívásban szükséged lesz. Az opcionális
+     harmadik paraméter vagy a helyi Oracle példány nevét adja meg,
+     vagy egy tnsnames.ora bejegyzést, amihez csatlakozni szeretnél.
+     Ha nem adod meg ezt a paramétert, a PHP az ORACLE_SID (Oracle
+     példány) vagy a TWO_TASK (tnsnames.ora) környezeti változókat
+     használja, hogy eldöntse melyik adatbázishoz kell csatlakozni.
+    </para>
+    <para>
+     Az <function>OCILogon</function> által visszaadott kapcsolatot
+     az aktuális oldalon megosztva használja a PHP. Ez azt jelenti,
+     hogy a tranzakciók végrehjatása vagy visszavonása minden nyitott
+     tranzakcióra vonatkozik az adott oldalon, még akkor is, ha több
+     adatbázis kapcsolattal is rendelkezel.
+    </para>
+    <para>
+     Ez a példa bemutatja a kapcsolatok megosztását.
+     <example>
+      <title>OCILogon</title>
+      <programlisting>
+<![CDATA[
+<?php
+print "<HTML><PRE>";
+$db = "";
+
+$c1 = ocilogon("scott","tiger",$db);
+$c2 = ocilogon("scott","tiger",$db);
+
+function create_table($conn)
+{ $stmt = ociparse($conn,"create table scott.hello (proba varchar2(64))");
+  ociexecute($stmt);
+  echo $conn." tábla létrehozva\n\n";
+}
+
+function drop_table($conn)
+{ $stmt = ociparse($conn,"drop table scott.hello");
+  ociexecute($stmt);
+  echo $conn." tábla törölve\n\n";
+}
+
+function insert_data($conn)
+{ $stmt = ociparse($conn,"insert into scott.hello
+            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
+  ociexecute($stmt,OCI_DEFAULT);
+  echo $conn." beillesztés végrehajtva\n\n";
+}
+
+function delete_data($conn)
+{ $stmt = ociparse($conn,"delete from scott.hello");
+  ociexecute($stmt,OCI_DEFAULT);
+  echo $conn." törlés végrehajtva\n\n";
+}
+
+function commit($conn)
+{ ocicommit($conn);
+  echo $conn." tranzakció végrehajtva\n\n";
+}
+
+function rollback($conn)
+{ ocirollback($conn);
+  echo $conn." tranzakció visszavonva\n\n";
+}
+
+function select_data($conn)
+{ $stmt = ociparse($conn,"select * from scott.hello");
+  ociexecute($stmt,OCI_DEFAULT);
+  echo $conn."----select végrehajtása\n\n";
+  while (ocifetch($stmt))
+    echo $conn." <".ociresult($stmt,"PROBA").">\n\n";
+  echo $conn."----kész\n\n";
+}
+
+create_table($c1);
+insert_data($c1);   // Új sor beillesztése c1 felhasználásával
+insert_data($c2);   // Új sor beillesztése c2 felhasználásával
+
+select_data($c1);   // Mindkét insert eredményét megkapjuk
+select_data($c2);   
+
+rollback($c1);      // Visszavonjuk a c1-en végzett műveletet
+
+select_data($c1);   // Mindkét műveletet visszavontuk
+select_data($c2);   
+
+insert_data($c2);   // Sor beillesztése c2-vel
+commit($c2);        // Tranzakció végrehajtása c2-vel
+
+select_data($c1);   // A c2 beillesztés eredményét visszakapjuk
+
+delete_data($c1);   // A c1-el töröljük a sorokat
+select_data($c1);   // Egy sor sincs
+select_data($c2);   // Egy sor sincs
+commit($c1);        // A c1-el végrehajtjuk a tranzakciót
+
+select_data($c1);   // Egy sor sincs
+select_data($c2);   // Egy sor sincs
+
+drop_table($c1);
+print "</PRE></HTML>";
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <simpara>
+     Lásd még <function>OCIPLogon</function> és
+     <function>OCINLogon</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ociplogon">
+   <refnamediv>
+    <refname>OCIPLogon</refname>
+    <refpurpose>Oracle adatbáziscsatlakozás állandó kapcsolattal</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIPLogon</methodname>
+      <methodparam><type>string</type><parameter>username</parameter></methodparam>
+      <methodparam><type>string</type><parameter>password</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>db</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Az <function>OCIPLogon</function> egy állandó (persistent)
+     adatbázis kapcsolatot hoz létre az Oracle8 adatbázishoz, és
+     bejelentkezik. Az opcionális harmadik paraméter vagy a helyi
+     Oracle példány nevét adja meg, vagy egy tnsnames.ora bejegyzést,
+     amihez csatlakozni szeretnél. Ha nem adod meg ezt a paramétert,
+     a PHP az ORACLE_SID (Oracle példány) vagy a TWO_TASK (tnsnames.ora)
+     környezeti változókat használja, hogy eldöntse melyik
+     adatbázishoz kell csatlakozni.
+    </para>
+    <simpara>
+     Lásd még <function>OCILogon</function> és
+     <function>OCINLogon</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocinlogon">
+   <refnamediv>
+    <refname>OCINLogon</refname>
+    <refpurpose>Új Oracle adatbázis kapcsolat létrehozása</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCINLogon</methodname>
+      <methodparam><type>string</type><parameter>username</parameter></methodparam>
+      <methodparam><type>string</type><parameter>password</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>db</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Az <function>OCINLogon</function> egy új Oracle 8 adatbázis
+     kapcsolatot hoz létre, és bejelentkezik. Az opcionális
+     harmadik paraméter vagy a helyi Oracle példány nevét adja meg,
+     vagy egy tnsnames.ora bejegyzést, amihez csatlakozni szeretnél.
+     Ha nem adod meg ezt a paramétert, a PHP az ORACLE_SID (Oracle
+     példány) vagy a TWO_TASK (tnsnames.ora) környezeti változókat
+     használja, hogy eldöntse melyik adatbázishoz kell csatlakozni.
+    </para>
+    <para>
+     Az <function>OCINLogon</function> mindenképpen egy új
+     kapcsolatot hoz létre. Erre akkor van szükséged, ha el
+     kell különítened a tranzakcióidat egymástól. Alapértelmezésben
+     a kapcsolatokat a PHP megosztja egy oldalon belül, ha az
+     <function>OCILogon</function> függvényt használod. Az
+     <function>OCIPLogon</function> használata esetén pedig már
+     a web szerver process szintjén érvényesül a megosztás.
+     Ha több kapcsolatod van az <function>OCINLogon</function>
+     függvénnyel megnyitva, minden tranzakció végrehajtás és
+     visszavonás cska az adott kapcsolatra vonatkozik.
+    </para>
+    <para>
+     A következő példa bemutatja a kapcsolatok elkülönülését.
+     <example>
+      <title>OCINLogon</title>
+      <programlisting>
+<![CDATA[
+<?php
+print "<HTML><PRE>";
+$db = "";
+
+$c1 = ocilogon("scott","tiger",$db);
+$c2 = ocinlogon("scott","tiger",$db);
+
+function create_table($conn)
+{ $stmt = ociparse($conn,"create table scott.hello (proba varchar2(64))");
+  ociexecute($stmt);
+  echo $conn." tábla létrehozva\n\n";
+}
+
+function drop_table($conn)
+{ $stmt = ociparse($conn,"drop table scott.hello");
+  ociexecute($stmt);
+  echo $conn." tábla törölve\n\n";
+}
+
+function insert_data($conn)
+{ $stmt = ociparse($conn,"insert into scott.hello
+            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
+  ociexecute($stmt,OCI_DEFAULT);
+  echo $conn." beillesztés végrehajtva\n\n";
+}
+
+function delete_data($conn)
+{ $stmt = ociparse($conn,"delete from scott.hello");
+  ociexecute($stmt,OCI_DEFAULT);
+  echo $conn." törlés végrehajtva\n\n";
+}
+
+function commit($conn)
+{ ocicommit($conn);
+  echo $conn." tranzakció végrehajtva\n\n";
+}
+
+function rollback($conn)
+{ ocirollback($conn);
+  echo $conn." tranzakció visszavonva\n\n";
+}
+
+function select_data($conn)
+{ $stmt = ociparse($conn,"select * from scott.hello");
+  ociexecute($stmt,OCI_DEFAULT);
+  echo $conn."----select végrehajtása\n\n";
+  while (ocifetch($stmt))
+    echo $conn." <".ociresult($stmt,"PROBA").">\n\n";
+  echo $conn."----kész\n\n";
+}
+
+create_table($c1);
+insert_data($c1);
+
+select_data($c1);   
+select_data($c2);   
+
+rollback($c1);      
+
+select_data($c1);   
+select_data($c2);   
+
+insert_data($c2);   
+commit($c2);        
+
+select_data($c1);   
+
+delete_data($c1);   
+select_data($c1);   
+select_data($c2);   
+commit($c1);        
+
+select_data($c1);
+select_data($c2);
+
+drop_table($c1);
+print "</PRE></HTML>";
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <simpara>
+     Lásd még <function>OCILogon</function> és
+     <function>OCIPLogon</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocilogoff">
+   <refnamediv>
+    <refname>OCILogOff</refname>
+    <refpurpose>Oracle kapcsolat bontása</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCILogOff</methodname>
+      <methodparam><type>int</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     Az <function>OCILogOff</function> függvény lezár
+     egy Oracle kapcsolatot.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ociexecute">
+   <refnamediv>
+    <refname>OCIExecute</refname>
+    <refpurpose>Execute a statement</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIExecute</methodname>
+      <methodparam><type>int</type><parameter>statement</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIExecute</function> executes a previously parsed
+     statement. (see <function>OCIParse</function>). The optional
+     <parameter>mode</parameter> allows you to specify the
+     execution-mode (default is OCI_COMMIT_ON_SUCCESS). If you don't
+     want statements to be committed automatically specify OCI_DEFAULT as
+     your mode.
+    </para>
+    <para>
+     &return.success;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicommit">
+   <refnamediv>
+    <refname>OCICommit</refname>
+    <refpurpose>Commits outstanding transactions</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCICommit</methodname>
+      <methodparam><type>int</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCICommit</function> commits all outstanding statements
+     for Oracle connection <parameter>connection</parameter>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocirollback">
+   <refnamediv>
+    <refname>OCIRollback</refname>
+    <refpurpose>Rolls back outstanding transactions</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIRollback</methodname>
+      <methodparam><type>int</type><parameter>connection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIRollback</function> rolls back all outstanding
+     statements for Oracle connection <parameter>connection</parameter>.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocinewdescriptor">
+   <refnamediv>
+    <refname>OCINewDescriptor</refname>
+    <refpurpose>
+     Initialize a new empty descriptor LOB/FILE (LOB is default)
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCINewDescriptor</methodname>
+      <methodparam><type>int</type><parameter>connection</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>type</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCINewDescriptor</function> Allocates storage to hold
+     descriptors or LOB locators. Valid values for the valid 
+     <parameter>type</parameter> are OCI_D_FILE, OCI_D_LOB, OCI_D_ROWID.
+     For LOB descriptors, the methods load, save, and savefile are 
+     associated with the descriptor, for BFILE only the load method
+     exists. See the second example usage hints.
+    </para>
+    <example>
+     <title>OCINewDescriptor</title>
+     <programlisting>
+<![CDATA[
+<?php   
+    /* This script is designed to be called from a HTML form.
+     * It expects $user, $password, $table, $where, and $commitsize
+     * to be passed in from the form.  The script then deletes
+     * the selected rows using the ROWID and commits after each
+     * set of $commitsize rows. (Use with care, there is no rollback)
+     */
+    $conn = OCILogon($user, $password);
+    $stmt = OCIParse($conn,"select rowid from $table $where");
+    $rowid = OCINewDescriptor($conn,OCI_D_ROWID);
+    OCIDefineByName($stmt,"ROWID",&$rowid);   
+    OCIExecute($stmt);
+    while ( OCIFetch($stmt) ) {      
+       $nrows = OCIRowCount($stmt);
+       $delete = OCIParse($conn,"delete from $table where ROWID = :rid");
+       OCIBindByName($delete,":rid",&$rowid,-1,OCI_B_ROWID);
+       OCIExecute($delete);      
+       print "$nrows\n";
+       if ( ($nrows % $commitsize) == 0 ) {
+           OCICommit($conn);      
+       }   
+    }
+    $nrows = OCIRowCount($stmt);   
+    print "$nrows deleted...\n";
+    OCIFreeStatement($stmt);  
+    OCILogoff($conn);
+?>  
+]]>
+     </programlisting>
+     <programlisting>
+<![CDATA[
+<?php
+    /* This script demonstrates file upload to LOB columns
+     * The formfield used for this example looks like this
+     * <form action="upload.php3" method="post" enctype="multipart/form-data">
+     * <input type="file" name="lob_upload">
+     * ...
+     */
+  if(!isset($lob_upload) || $lob_upload == 'none'){
+?>
+<form action="upload.php3" method="post" enctype="multipart/form-data">
+Upload file: <input type="file" name="lob_upload"><br>
+<input type="submit" value="Upload"> - <input type="reset">
+</form>
+<?php
+  } else {
+     // $lob_upload contains the temporary filename of the uploaded file
+     $conn = OCILogon($user, $password);
+     $lob = OCINewDescriptor($conn, OCI_D_LOB);
+     $stmt = OCIParse($conn,"insert into $table (id, the_blob) 
+               values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into 
+:the_blob");
+     OCIBindByName($stmt, ':the_blob', &$lob, -1, OCI_B_BLOB);
+     OCIExecute($stmt, OCI_DEFAULT);
+     if($lob->savefile($lob_upload)){
+        OCICommit($conn);
+        echo "Blob successfully uploaded\n";
+     }else{
+        echo "Couldn't upload Blob\n";
+     }
+     OCIFreeDesc($lob);
+     OCIFreeStatement($stmt);
+     OCILogoff($conn);
+  }
+?>
+]]>
+     </programlisting>
+    </example>
+    <example>
+     <title>OCINewDescriptor</title>
+     <programlisting>
+<![CDATA[
+<?php   
+    /* Calling PL/SQL stored procedures which contain clobs as input
+     * parameters (PHP 4 >= 4.0.6). 
+     * Example PL/SQL stored procedure signature is:
+     *
+     * PROCEDURE save_data
+     *   Argument Name                  Type                    In/Out Default?
+     *   ------------------------------ ----------------------- ------ --------
+     *   KEY                            NUMBER(38)              IN
+     *   DATA                           CLOB                    IN
+     *
+     */
+
+    $conn = OCILogon($user, $password);
+    $stmt = OCIParse($conn, "begin save_data(:key, :data); end;");
+    $clob = OCINewDescriptor($conn, OCI_D_LOB);
+       OCIBindByName($stmt, ':key', $key);
+       OCIBindByName($stmt, ':data', $clob, -1, OCI_B_CLOB);
+       $clob->WriteTemporary($data);
+       OCIExecute($stmt, OCI_DEFAULT);
+       OCICommit($conn);
+       $clob->close();
+       $clob->free();
+       OCIFreeStatement($stmt);
+?>
+]]>
+     </programlisting>
+    </example>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.ocirowcount">
+   <refnamediv>
+    <refname>OCIRowCount</refname>
+    <refpurpose>Gets the number of affected rows</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIRowCount</methodname>
+      <methodparam><type>int</type><parameter>statement</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIRowCount</function> returns the number of rows affected
+        for eg update-statements. This function will not tell you the number
+        of rows that a select will return!</para>
+    <para>
+     <example>
+      <title>OCIRowCount</title>
+      <programlisting>
+<![CDATA[
+<?php
+    print "<HTML><PRE>";
+    $conn = OCILogon("scott","tiger");
+    $stmt = OCIParse($conn,"create table emp2 as select * from emp");
+    OCIExecute($stmt);
+    print OCIRowCount($stmt) . " rows inserted.<BR>";
+    OCIFreeStatement($stmt);
+    $stmt = OCIParse($conn,"delete from emp2");
+    OCIExecute($stmt);
+    print OCIRowCount($stmt) . " rows deleted.<BR>";
+    OCICommit($conn);
+    OCIFreeStatement($stmt);
+    $stmt = OCIParse($conn,"drop table emp2");
+    OCIExecute($stmt);
+    OCIFreeStatement($stmt);
+    OCILogOff($conn);
+    print "</PRE></HTML>";
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocinumcols">
+   <refnamediv>
+    <refname>OCINumCols</refname>
+    <refpurpose>
+     Return the number of result columns in a statement
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCINumCols</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCINumCols</function> returns the number of columns in a 
+     statement
+    </para>
+    <example>
+     <title>OCINumCols</title>
+     <programlisting>
+<![CDATA[
+<?php   
+    print "<HTML><PRE>\n";   
+    $conn = OCILogon("scott", "tiger");
+    $stmt = OCIParse($conn,"select * from emp");
+    OCIExecute($stmt);
+    while ( OCIFetch($stmt) ) {
+        print "\n";   
+        $ncols = OCINumCols($stmt);
+        for ( $i = 1; $i <= $ncols; $i++ ) {
+            $column_name  = OCIColumnName($stmt,$i);
+            $column_value = OCIResult($stmt,$i);
+            print $column_name . ': ' . $column_value . "\n";
+        }
+        print "\n";
+    }
+    OCIFreeStatement($stmt);  
+    OCILogoff($conn);   
+    print "</PRE>";
+    print "</HTML>\n"; 
+?>   
+]]>
+     </programlisting>
+    </example>
+   </refsect1>
+  </refentry>
+ 
+  <refentry id="function.ociresult">
+   <refnamediv>
+    <refname>OCIResult</refname>
+    <refpurpose>Returns column value for fetched row</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>mixed</type><methodname>OCIResult</methodname>
+      <methodparam><type>int</type><parameter>statement</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>column</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIResult</function> returns the data for column 
+        <parameter>column</parameter> in the current row (see 
+        <function>OCIFetch</function>).<function>OCIResult</function> will
+        return everything as strings except for abstract types (ROWIDs,
+        LOBs and FILEs).
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifetch">
+   <refnamediv>
+    <refname>OCIFetch</refname>
+    <refpurpose>Fetches the next row into result-buffer</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIFetch</methodname>
+      <methodparam><type>int</type><parameter>statement</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIFetch</function> fetches the next row (for SELECT
+     statements) into the internal result-buffer.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifetchinto">
+   <refnamediv>
+    <refname>OCIFetchInto</refname>
+    <refpurpose>Fetches the next row into result-array</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIFetchInto</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>array &amp;</type><parameter>result</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>mode</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIFetchInto</function> fetches the next row (for SELECT
+     statements) into the <parameter>result</parameter> array.
+     <function>OCIFetchInto</function> will overwrite the previous
+     content of <parameter>result</parameter>. By default 
+     <parameter>result</parameter> will contain a zero-based array of all
+     columns that are not &null;.
+    </para>
+       <para>
+        The <parameter>mode</parameter> parameter allows you to change the
+        default behaviour. You can specify more than one flag by simply
+        adding them up (eg OCI_ASSOC+OCI_RETURN_NULLS). The known flags
+        are:
+     <simplelist>
+      <member>
+       <literal>OCI_ASSOC</literal> Return an associative array.
+      </member>
+      <member>
+       <literal>OCI_NUM</literal> Return an numbered array starting with
+       zero. (DEFAULT)
+      </member>
+      <member>
+       <literal>OCI_RETURN_NULLS</literal> Return empty columns.
+      </member>
+      <member>
+       <literal>OCI_RETURN_LOBS</literal> Return the value of a LOB
+       instead of the descriptor.
+      </member>
+     </simplelist>
+       </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifetchstatement">
+   <refnamediv>
+    <refname>OCIFetchStatement</refname>
+    <refpurpose>Fetch all rows of result data into an array.</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIFetchStatement</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>array 
+&amp;</type><parameter>variable</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIFetchStatement</function> fetches all the rows from a 
+     result into a user-defined array.
+     <function>OCIFetchStatement</function> returns the number of rows
+     fetched. 
+    </para>
+     <example>
+      <title>OCIFetchStatement</title>
+      <programlisting>
+<![CDATA[
+<?php
+/* OCIFetchStatement example [EMAIL PROTECTED] (990624) */
+
+$conn = OCILogon("scott","tiger");
+
+$stmt = OCIParse($conn,"select * from emp");
+
+OCIExecute($stmt);
+
+$nrows = OCIFetchStatement($stmt,$results);
+if ( $nrows > 0 ) {
+   print "<TABLE BORDER=\"1\">\n";
+   print "<TR>\n";
+   while ( list( $key, $val ) = each( $results ) ) {
+      print "<TH>$key</TH>\n";
+   }
+   print "</TR>\n";
+   
+   for ( $i = 0; $i < $nrows; $i++ ) {
+      reset($results);
+      print "<TR>\n";
+      while ( $column = each($results) ) {   
+         $data = $column['value'];
+         print "<TD>$data[$i]</TD>\n";
+      }
+      print "</TR>\n";
+   }
+   print "</TABLE>\n";
+} else {
+   echo "No data found<BR>\n";
+}      
+print "$nrows Records Selected<BR>\n";
+ 
+OCIFreeStatement($stmt);
+OCILogoff($conn);
+?>
+]]>
+     </programlisting>
+    </example>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.ocicolumnisnull">
+   <refnamediv>
+    <refname>OCIColumnIsNULL</refname>
+    <refpurpose>test whether a result column is &null;</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIColumnIsNULL</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>column</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIColumnIsNULL</function> returns &true; if the returned
+     column <parameter>column</parameter> in the result from the
+     statement <parameter>stmt</parameter> is &null;. You can either use
+        the column-number (1-Based) or the column-name for the
+        <parameter>col</parameter> parameter.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolumnname">
+   <refnamediv>
+    <refname>OCIColumnName</refname>
+    <refpurpose>Returns the name of a column.</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCIColumnName</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>int</type><parameter>col</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     <function>OCIColumnName</function> returns the name of the column 
+      corresponding to the column number (1-based) that is passed in.
+    </simpara>
+    <para>
+     <example>
+      <title>OCIColumnName</title>
+      <programlisting>
+<![CDATA[
+<?php   
+    print "<HTML><PRE>\n";   
+    $conn = OCILogon("scott", "tiger");
+    $stmt = OCIParse($conn,"select * from emp");
+    OCIExecute($stmt);
+    print "<TABLE BORDER=\"1\">";
+    print "<TR>";
+    print "<TH>Name</TH>";
+    print "<TH>Type</TH>";
+    print "<TH>Length</TH>";
+    print "</TR>";
+    $ncols = OCINumCols($stmt);
+    for ( $i = 1; $i <= $ncols; $i++ ) {
+        $column_name  = OCIColumnName($stmt,$i);
+        $column_type  = OCIColumnType($stmt,$i);
+        $column_size  = OCIColumnSize($stmt,$i);
+        print "<TR>";
+        print "<TD>$column_name</TD>";
+        print "<TD>$column_type</TD>";
+        print "<TD>$column_size</TD>";
+        print "</TR>";
+    }
+    OCIFreeStatement($stmt);  
+    OCILogoff($conn);   
+    print "</PRE>";
+    print "</HTML>\n"; 
+?>   
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <simpara>
+     See also <function>OCINumCols</function>,
+     <function>OCIColumnType</function>, 
+     and <function>OCIColumnSize</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolumnsize">
+   <refnamediv>
+    <refname>OCIColumnSize</refname>
+    <refpurpose>return result column size</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIColumnSize</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>mixed</type><parameter>column</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIColumnSize</function> returns the size of the column
+     as given by Oracle. You can either use
+        the column-number (1-Based) or the column-name for the
+        <parameter>col</parameter> parameter.
+    </para>
+    <para>
+     <example>
+      <title>OCIColumnSize</title>
+      <programlisting>
+<![CDATA[
+<?php   
+    print "<HTML><PRE>\n";   
+    $conn = OCILogon("scott", "tiger");
+    $stmt = OCIParse($conn,"select * from emp");
+    OCIExecute($stmt);
+    print "<TABLE BORDER=\"1\">";
+    print "<TR>";
+    print "<TH>Name</TH>";
+    print "<TH>Type</TH>";
+    print "<TH>Length</TH>";
+    print "</TR>";
+    $ncols = OCINumCols($stmt);
+    for ( $i = 1; $i <= $ncols; $i++ ) {
+        $column_name  = OCIColumnName($stmt,$i);
+        $column_type  = OCIColumnType($stmt,$i);
+        $column_size  = OCIColumnSize($stmt,$i);
+        print "<TR>";
+        print "<TD>$column_name</TD>";
+        print "<TD>$column_type</TD>";
+        print "<TD>$column_size</TD>";
+        print "</TR>";
+    }
+    print "</TABLE>";
+    OCIFreeStatement($stmt);  
+    OCILogoff($conn);   
+    print "</PRE>";
+    print "</HTML>\n"; 
+?>   
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <simpara>
+     See also <function>OCINumCols</function>,
+     <function>OCIColumnName</function>, and
+     <function>OCIColumnSize</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolumntype">
+   <refnamediv>
+    <refname>OCIColumnType</refname>
+    <refpurpose>Returns the data type of a column.</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>mixed</type><methodname>OCIColumnType</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>int</type><parameter>col</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     <function>OCIColumnType</function> returns the data type of the
+     column corresponding to the column number (1-based) that is passed
+     in.
+    </simpara>
+    <para>
+     <example>
+      <title>OCIColumnType</title>
+      <programlisting>
+<![CDATA[
+<?php   
+    print "<HTML><PRE>\n";   
+    $conn = OCILogon("scott", "tiger");
+    $stmt = OCIParse($conn,"select * from emp");
+    OCIExecute($stmt);
+    print "<TABLE BORDER=\"1\">";
+    print "<TR>";
+    print "<TH>Name</TH>";
+    print "<TH>Type</TH>";
+    print "<TH>Length</TH>";
+    print "</TR>";
+    $ncols = OCINumCols($stmt);
+    for ( $i = 1; $i <= $ncols; $i++ ) {
+        $column_name  = OCIColumnName($stmt,$i);
+        $column_type  = OCIColumnType($stmt,$i);
+        $column_size  = OCIColumnSize($stmt,$i);
+        print "<TR>";
+        print "<TD>$column_name</TD>";
+        print "<TD>$column_type</TD>";
+        print "<TD>$column_size</TD>";
+        print "</TR>";
+    }
+    OCIFreeStatement($stmt);  
+    OCILogoff($conn);   
+    print "</PRE>";
+    print "</HTML>\n"; 
+?>   
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <simpara>
+     See also <function>OCINumCols</function>,
+     <function>OCIColumnName</function>, 
+     and <function>OCIColumnSize</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ociserverversion">
+   <refnamediv>
+    <refname>OCIServerVersion</refname>
+    <refpurpose>Return a string containing server version
+    information.</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCIServerVersion</methodname>
+      <methodparam><type>int</type><parameter>conn</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <example>
+      <title>OCIServerVersion</title>
+      <programlisting>
+<![CDATA[
+<?php
+   $conn = OCILogon("scott","tiger");
+   print "Server Version: " . OCIServerVersion($conn);
+   OCILogOff($conn);
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocistatementtype">
+   <refnamediv>
+    <refname>OCIStatementType</refname>
+    <refpurpose>Return the type of an OCI statement.</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCIStatementType</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIStatementType</function> returns one of the following
+     values:
+     <orderedlist>
+      <listitem><simpara>                      "SELECT"</simpara></listitem>
+      <listitem><simpara>                      "UPDATE"</simpara></listitem>
+      <listitem><simpara>                      "DELETE"</simpara></listitem>
+      <listitem><simpara>                      "INSERT"</simpara></listitem>
+      <listitem><simpara>                      "CREATE"</simpara></listitem>
+      <listitem><simpara>                      "DROP"</simpara></listitem>
+      <listitem><simpara>                      "ALTER"</simpara></listitem>
+      <listitem><simpara>                      "BEGIN"</simpara></listitem>
+      <listitem><simpara>                      "DECLARE"</simpara></listitem>
+      <listitem><simpara>                      "UNKNOWN"</simpara></listitem>
+     </orderedlist></para>
+    <para>
+     <example>
+      <title>Code examples</title>
+      <programlisting>
+<![CDATA[
+<?php
+    print "<HTML><PRE>";
+    $conn = OCILogon("scott","tiger");
+    $sql  = "delete from emp where deptno = 10";
+   
+    $stmt = OCIParse($conn,$sql);
+    if ( OCIStatementType($stmt) == "DELETE" ) {
+        die "You are not allowed to delete from this table<BR>";
+    }
+   
+    OCILogoff($conn);
+    print "</PRE></HTML>";
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocinewcursor">
+   <refnamediv>
+    <refname>OCINewCursor</refname>
+    <refpurpose>
+     Return a new cursor (Statement-Handle) - use to bind ref-cursors.
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCINewCursor</methodname>
+      <methodparam><type>int</type><parameter>conn</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCINewCursor</function> allocates a new statement handle
+     on the specified connection.
+    </para>
+    <para>
+     <example>
+      <title>Using a REF CURSOR from a stored procedure</title>
+      <programlisting>
+<![CDATA[
+<?php   
+// suppose your stored procedure info.output returns a ref cursor in :data
+
+$conn = OCILogon("scott","tiger");
+$curs = OCINewCursor($conn);
+$stmt = OCIParse($conn,"begin info.output(:data); end;");
+
+ocibindbyname($stmt,"data",&$curs,-1,OCI_B_CURSOR);
+ociexecute($stmt);
+ociexecute($curs);
+
+while (OCIFetchInto($curs,&$data)) {
+    var_dump($data);
+}
+ 
+OCIFreeStatement($stmt);
+OCIFreeCursor($curs);
+OCILogoff($conn);
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+    <para>
+     <example>
+      <title>Using a REF CURSOR in a select statement</title>
+      <programlisting>
+<![CDATA[
+<?php   
+print "<HTML><BODY>";
+$conn = OCILogon("scott","tiger");
+$count_cursor = "CURSOR(select count(empno) num_emps from emp " .
+                "where emp.deptno = dept.deptno) as EMPCNT from dept";
+$stmt = OCIParse($conn,"select deptno,dname,$count_cursor");
+
+ociexecute($stmt);
+print "<TABLE BORDER=\"1\">";
+print "<TR>";
+print "<TH>DEPT NAME</TH>";
+print "<TH>DEPT #</TH>";
+print "<TH># EMPLOYEES</TH>";
+print "</TR>";
+
+while (OCIFetchInto($stmt,&$data,OCI_ASSOC)) {
+    print "<TR>";
+    $dname  = $data["DNAME"];
+    $deptno = $data["DEPTNO"];
+    print "<TD>$dname</TD>";
+    print "<TD>$deptno</TD>";
+    ociexecute($data[ "EMPCNT" ]);
+    while (OCIFetchInto($data[ "EMPCNT" ],&$subdata,OCI_ASSOC)) {
+        $num_emps = $subdata["NUM_EMPS"];
+        print  "<TD>$num_emps</TD>";
+    }
+    print "</TR>";
+}
+print "</TABLE>";
+print "</BODY></HTML>";
+OCIFreeStatement($stmt);
+OCILogoff($conn);
+?>
+]]>
+      </programlisting>
+     </example>
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifreestatement">
+   <refnamediv>
+    <refname>OCIFreeStatement</refname>
+    <refpurpose>
+     Free all resources associated with a statement.
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIFreeStatement</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIFreeStatement</function> returns &true; if successful,
+     or &false; if unsuccessful.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifreecursor">
+   <refnamediv>
+    <refname>OCIFreeCursor</refname>
+    <refpurpose>
+     Free all resources associated with a cursor.
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIFreeCursor</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIFreeCursor</function> returns &true; if successful, or
+     &false; if unsuccessful.
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifreedesc">
+   <refnamediv>
+    <refname>OCIFreeDesc</refname>
+    <refpurpose>Deletes a large object descriptor.</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIFreeDesc</methodname>
+      <methodparam><type>object</type><parameter>lob</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     <function>OCIFreeDesc</function> returns &true; if successful, or
+     &false; if unsuccessful.
+    </para>
+   </refsect1>
+  </refentry>
+  
+  <refentry id="function.ociparse">
+   <refnamediv>
+    <refname>OCIParse</refname>
+    <refpurpose>Parse a query and return a statement</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIParse</methodname>
+      <methodparam><type>int</type><parameter>conn</parameter></methodparam>
+      <methodparam><type>string</type><parameter>query</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     <function>OCIParse</function> parses the
+     <parameter>query</parameter> using  <parameter>conn</parameter>. 
+     It returns the statement identity if the query is valid, &false; if
+     not. The <parameter>query</parameter> can be any valid SQL 
+     statement or PL/SQL block.
+    </simpara>
+   </refsect1>
+  </refentry>
+  <refentry id="function.ocierror">
+   <refnamediv>
+    <refname>OCIError</refname>
+    <refpurpose>Return the last error of stmt|conn|global. 
+     If no error happened returns &false;.
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>array</type><methodname>OCIError</methodname>
+      <methodparam 
+choice="opt"><type>int</type><parameter>stmt|conn|global</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     <function>OCIError</function> returns the last error found.  If
+     the optional <parameter>stmt|conn|global</parameter> is not
+     provided, the last error encountered is returned.  If no error is
+     found, <function>OCIError</function> returns
+     &false;. <function>OCIError</function> returns the error as an
+     associative array. In this array, <parameter>code</parameter>
+     consists the oracle error code and <parameter>message</parameter>
+     the oracle errorstring.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ociinternaldebug">
+   <refnamediv>
+    <refname>OCIInternalDebug</refname>
+    <refpurpose>
+     Enables or disables internal debug output.  By default it is
+     disabled
+    </refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>void</type><methodname>OCIInternalDebug</methodname>
+      <methodparam><type>int</type><parameter>onoff</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     <function>OCIInternalDebug</function> enables internal debug
+     output.  Set <parameter>onoff</parameter> to 0 to turn debug
+     output off, 1 to turn it on.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicancel">
+   <refnamediv>
+    <refname>OCICancel</refname>
+    <refpurpose>Cancel reading from cursor</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCICancel</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     If you do not want read more data from a cursor, then call
+     <function>OCICancel</function>.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocisetprefetch">
+   <refnamediv>
+    <refname>OCISetPrefetch</refname>
+    <refpurpose>sets number of rows to be prefetched</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCISetPrefetch</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>int</type><parameter>rows</parameter></methodparam>
+     </methodsynopsis>
+    <simpara>
+     Sets the number of top level rows to be prefetched. The default value is 1 row.
+    </simpara>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ociwritelobtofile">
+   <refnamediv>
+    <refname>OCIWriteLobToFile</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>void</type><methodname>OCIWriteLobToFile</methodname>
+      <methodparam><type>object</type><parameter>lob</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>filename</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>start</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>int</type><parameter>lenght</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocisavelobfile">
+   <refnamediv>
+    <refname>OCISaveLobFile</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCISaveLobFile</methodname>
+      <methodparam><type>object</type><parameter>lob</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocisavelob">
+   <refnamediv>
+    <refname>OCISaveLob</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCISaveLob</methodname>
+      <methodparam><type>object</type><parameter>lob</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ociloadlob">
+   <refnamediv>
+    <refname>OCILoadLob</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCILoadLob</methodname>
+      <methodparam><type>object</type><parameter>lob</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolumnscale">
+   <refnamediv>
+    <refname>OCIColumnScale</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIColumnScale</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>int</type><parameter>col</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolumnprecision">
+   <refnamediv>
+    <refname>OCIColumnPrecision</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>int</type><methodname>OCIColumnPrecision</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>int</type><parameter>col</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolumntyperaw">
+   <refnamediv>
+    <refname>OCIColumnTypeRaw</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>mixed</type><methodname>OCIColumnTypeRaw</methodname>
+      <methodparam><type>int</type><parameter>stmt</parameter></methodparam>
+      <methodparam><type>int</type><parameter>col</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocinewcollection">
+   <refnamediv>
+    <refname>OCINewCollection</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCINewCollection</methodname>
+      <methodparam><type>int</type><parameter>conn</parameter></methodparam>
+      <methodparam><type>string</type><parameter>tdo</parameter></methodparam>
+      <methodparam 
+choice="opt"><type>string</type><parameter>shema</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocifreecollection">
+   <refnamediv>
+    <refname>OCIFreeCollection</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCIFreeCollection</methodname>
+      <methodparam><type>object</type><parameter>lob</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicollassign">
+   <refnamediv>
+    <refname>OCICollAssign</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollAssign</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+      <methodparam><type>object</type><parameter>object</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicollappend">
+   <refnamediv>
+    <refname>OCICollAppend</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollAppend</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+      <methodparam><type>object</type><parameter>object</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicollassignelem">
+   <refnamediv>
+    <refname>OCICollAssignElem</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollAssignElem</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>ndx</parameter></methodparam>
+      <methodparam><type>string</type><parameter>val</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicollgetelem">
+   <refnamediv>
+    <refname>OCICollGetElem</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollGetElem</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+      <methodparam><type>string</type><parameter>ndx</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicollmax">
+   <refnamediv>
+    <refname>OCICollMax</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollMax</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicollsize">
+   <refnamediv>
+    <refname>OCICollSize</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollSize</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+  <refentry id="function.ocicolltrim">
+   <refnamediv>
+    <refname>OCICollTrim</refname>
+    <refpurpose>[Eddig] nem dokumentált</refpurpose>
+   </refnamediv>
+   <refsect1>
+    <title>Leírás</title>
+     <methodsynopsis>
+      <type>string</type><methodname>OCICollTrim</methodname>
+      <methodparam><type>object</type><parameter>collection</parameter></methodparam>
+      <methodparam><type>int</type><parameter>num</parameter></methodparam>
+     </methodsynopsis>
+    <para>
+     &warn.undocumented.func;
+    </para>
+   </refsect1>
+  </refentry>
+
+ </reference>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->
+


Reply via email to