PHP kézikönyv
Előző
Következő
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.
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.
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:
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.
Ha a webszerver nem indul el, vagy lefagy induláskor:
Ellenőrizd, hogy az Apache szervert a pthread könyvtárral fordítottad-e:
Ha a libpthread nincs bent a listában, újra kell telepítened az Apache szervert:
Példa 1.
OCI tippek
?php / / A tippeket sergo@bacup.ru 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);?
Könnyen elérheted a tárolt eljárásokat, éppen úgy, mint parancssorból.
Példa 2.
Tárolt eljárások használata
?php / / webmaster@remoterealty.com 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);?
Előző
Tartalom
Következő
Fel