Manuel PHP Précédent Suivant Ces fonctions vous permettront d 'accéder aux serveurs Oracle8 et Oracle7. Elles utilisent l'interface Oracle8 Call-Interface (oci8). Vous aurez donc besoin des librairies clientes Oracle8 pour pouvoir les utiliser. Il faut noter que cette extension est plus souple que l 'extension Oracle officielle. Elle supporte notamment les liaisons entre les variables globales et locales de PHP avec des emplacements Oracle; elle supporte complètement les types LOB, FILE et ROWID et vous permet d 'utiliser des variables de définitions personnalisables. Avant d'utiliser cette extension, assurez-vous que vous avez bien paramétré vos variables d 'environnement Oracle, ainsi que votre démon utilisateur. Les variables dont vous pouvez avoir besoin sont: Après avoir configuré ces variables pour votre utilisateur "serveur web", assurez-vous aussi d'ajouter cet utilisateur (nobody, www) au group Oracle. Si votre serveur web ne démarre pas, ou crashe au démarrage: Vérifiez que Apache a bien été compilé avec la librairie pthread: Si la libpthread n 'est pas listée, vous devez réinstaller Apache: Exemple 1. Aide oci ?php / / par sergo@bacup.ru / / Utilisez l'option: oci_DEFAULT pour éxécuter les commandes avec un délai ociExecute($stmt, oci_DEFAULT); / / pour lire les données après lecture, utilisez: $result = ociResult($stmt, $n); if (is_object ($result)) $result = $result - load(); / / Pour les commandes INSERT ou UPDATE utilisez: $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 ("Du texte"); ocicommit($conn);? Vous pouvez facilement accéder aux procédures stockées, de la même façon que vous le feriez par ligne de commande: Exemple 2. Utilisation de procédures stockées ?php / / par webmaster@remoterealty.com $sth = ociparse ($dbh, "begin sp_newaddress (:address_id, '$firstname', '$lastname', '$company', '$address1', '$address2', '$city', '$state', '$postalcode', '$country', :error_code );end; "); / / Ce script appelle la procédure stockée sp_newaddress, avec address_id qui est / / une variable entrante / sortante et :error_code une variable sortante. / / Lorsque vous les liez: ociBindByName ($sth, ":address_id", $addr_id, 10); ociBindByName ($sth, ":error_code", $errorcode, 10); ociExecute ($sth);? OCICancel - - Bientôt documenté.... OCICollAppend OCICollAssignElem - - Bientôt documenté.... OCICollGetElem - - Bientôt documenté.... OCICollMax - - Bientôt documenté.... OCICollSize - - Bientôt documenté.... OCICollTrim OCIColumnPrecision - - Bientôt documenté.... OCIColumnScale OCIColumnTypeRaw OCIFreeCollection OCILoadLob OCINewCollection OCISaveLob - - Bientôt documenté.... OCISaveLobFile OCIWriteLobToFile - - Bientôt documenté.... Précédent Sommaire Suivant Niveau supérieur ociBindByName