PHP ʖ²ἯTH
º/A
LXXI. Oracle 8 º¯ʽ
½鉜
բЩº¯ʽԊЭģ·ÎʠOracle8 º͠Oracle7 ʽ¾ݿ⡣բЩº¯ʽʹӃ Oracle8 Call-Interface (OCI8)¡£
Шdz
ORACLE_HOME
ORACLE_SID
LD_PRELOAD
LD_LIBRARY_PATH
NLS_LANG
ORA_NLS33
# 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)
# cd /usr/src/apache_1.3.xx # make clean # LIBS=-lpthread ./config.status # make # make install
°²װ
ģ±ؐ늹ӃѡϮ --with-oracle[=DIR] ±ҫ PHP £¬ DIR µĄ¬ȏֵʇ»·¾³±䁿 ORACLE_HOME¡£
ԋАʱŤփ
Դ Ѝ
Ԥ¶¨ҥ³£
·¶=
=ד 1. OCI ̡ʾ
?php // by sergo@bacup.ru // Use option: OCI_DEFAULT for execute command to delay execution OCIExecute($stmt, OCI_DEFAULT); // for retrieve data use (after fetch): $result = OCIResult($stmt, $n); if (is_object ($result)) $result = $result- load(); // For INSERT or UPDATE statement use: $sql = "insert into table (field1, field2) values (field1 = 'value', field2 = empty_clob()) returning field2 into :field2"; OCIParse($conn, $sql); $clob = OCINewDescriptor($conn, OCI_D_LOB); OCIBindByName ($stmt, ":field2", $clob, -1, OCI_B_CLOB); OCIExecute($stmt, OCI_DEFAULT); $clob- save ("some text"); OCICommit($conn);?
?php // by webmaster@remoterealty.com $sth = OCIParse ($dbh, "begin sp_newaddress( :address_id, '$firstname', '$lastname', '$company', '$address1', '$address2', '$city', '$state', '$postalcode', '$country', :error_code );end;"); // This calls stored procedure sp_newaddress, with :address_id being an // in/out variable and :error_code being an out variable. // Then you do the binding: OCIBindByName ($sth, ":address_id", $addr_id, 10); OCIBindByName ($sth, ":error_code", $errorcode, 10); OCIExecute ($sth);?
º/A
ưµ㼯A
deaggregate
ɏһ¼¶
OCIBindByName