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