Modified: phpdoc/fr/trunk/reference/array/functions/array-merge.xml =================================================================== --- phpdoc/fr/trunk/reference/array/functions/array-merge.xml 2010-05-03 09:38:15 UTC (rev 298897) +++ phpdoc/fr/trunk/reference/array/functions/array-merge.xml 2010-05-03 09:59:19 UTC (rev 298898) @@ -1,6 +1,6 @@ - + @@ -28,8 +28,9 @@ les valeurs sont ajoutées en fin de tableau. - Si vous passez un seul tableau à cette fonction et qu'il a des index - numériques, les clés seront réindexées normalement. + Si tous les tableaux contiennent uniquement des clés numériques, + le tableau résultant contiendra des clés d'incrément, en commençant + par zéro. Modified: phpdoc/fr/trunk/reference/oci8/examples.xml =================================================================== --- phpdoc/fr/trunk/reference/oci8/examples.xml 2010-05-03 09:38:15 UTC (rev 298897) +++ phpdoc/fr/trunk/reference/oci8/examples.xml 2010-05-03 09:59:19 UTC (rev 298898) @@ -1,106 +1,137 @@ - - + + &reftitle.examples; -
+ + Ces exemples utilisent, pour se connecter à la base de données, + l'utilisateur HR qui est le schéma + "Human Resources" fourni par la + base de données Oracle. Ce compte doit avoir été déverrouillé et + le mot de passe réinitialisé avant de pouvoir l'utiliser. + + + + Ces exemples se connectent à la base de données + XE de votre machine. Modifiez la chaîne de connection + afin de correspondre à votre base de données avant d'exécuter les + exemples de cette documentation. + + + + Requête simple - - Requête basique - + Cet exemple montre l'exécution d'une requête et l'affiche des résultats. + Les requêtes OCI8 utilisent les étapes préparation/exécution/récupération + des données. + + '; - while ($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) { - print ''; - foreach ($row as $item) { - print ''.($item?htmlentities($item):' ').''; - } - print ''; - } - print ''; +// Récupération des résultats de la requête +print "\n"; +while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) { + print "\n"; + foreach ($row as $item) { + print " \n"; + } + print "\n"; +} +print "
" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "
\n"; - oci_close($conn); +oci_free_statement($stid); +oci_close($conn); + ?> ]]> -
-
+ + + + + Insertion de données en utilisant des variables liées + + Les variables liées augmentent les performances en permettant la réutilisation + du cache et du contexte d'exécution. Les variables liées augmentent également + la sécurité en prévenant bons nombres d'injection SQL. - - - Requête Insert avec des variables liées - + ]]> - - - + + - + + Insertion de données dans une colonne CLOB - - Insertion de donnée dans une colonne CLOB - + Pour de lourdes données, utilisez un objet binaire long (BLOB) + ou un objet de caractères long (CLOB). Cet exemple utilise les CLOB. + + save("A very long string"); +oci_execute($stid, OCI_NO_AUTO_COMMIT); // use OCI_DEFAULT for PHP <= 5.3.1 +$clob->save("Une chaîne vraiment très longue"); oci_commit($conn); -// Récupération des données CLOB +// Récupération de données CLOB $query = 'SELECT myclob FROM mytable WHERE mykey = :mykey'; $stid = oci_parse ($conn, $query); oci_bind_by_name($stid, ":mykey", $mykey, 5); -oci_execute($stid, OCI_DEFAULT); +oci_execute($stid); print ''; while ($row = oci_fetch_array($stid, OCI_ASSOC)) { - $result = $row['MYCLOB']->load(); - print ''; + $result = $row['MYCLOB']->load(); + print ''; } print '
'.$result.'
'.$result.'
'; ?> ]]> -
-
+ + + + + Utilisation d'une procédure stockée PL/SQL + + Vous devez lier une variable pour la valeur retournée et, optionnellement, + pour tous les arguments de la fonction PL/SQL. + + +]]> + + + + + Utilisation d'une procédure stockée PL/SQL - Vous pouvez facilement accéder aux procédures stockées, de la même - façon que vous le feriez par ligne de commande : - - Utilisation de procédures stockées - + Avec les procédures stockées, vous devez lier les variables pour tous + les arguments. + + ]]> - - + + + + + Appel d'une fonction PL/SQL qui retourne un <literal>REF CURSOR</literal> + + Chaque valeur retournée par la requête est un REF + CURSOR à utiliser pour récupérer les données. -
+ +\n"; +while (($row = oci_fetch_array($stid, OCI_ASSOC))) { + echo "\n"; + $rc = $row['MFRC']; + oci_execute($rc); // La valeur de la colonne retournée depuis la requête est une référence de curseur + while (($rc_row = oci_fetch_array($rc, OCI_ASSOC))) { + echo " " . $rc_row['CITY'] . "\n"; + } + oci_free_statement($rc); + echo "\n"; +} +echo "\n"; + +// Affiche : +// Beijing +// Bern +// Bombay +// Geneva + +oci_free_statement($stid); +oci_close($conn); + +?> +]]> + +
- - + + &reftitle.setup; - +
&reftitle.required; - Vous avez besoin des bibliothèques Oracles pour utiliser cette extension. - Les utilisateur Windows doivent utiliser les bibliothèques de version 10 ou supérieure pour - se servir de la bibliothèque php_oci8.dll. + L'extension OCI8 nécessite les bibliothèques clientes + 9iR2, 10g ou 11g. Si la base de données Oracle est sur la même machine + que PHP, le logiciel de la base de données contient déjà toutes les + bibliothèques nécessaires. Lorsque PHP est sur une machine différente, + vous devez utilisez les bibliothèques libres + Oracle Instant Client. - - - Cette extension ne supporte plus les bibliothèques Oracle 8 client. - Cependant, vous pouvez toujours vous connecter aux serveurs Oracle 8 - tant que la bibliothèque client (v.9+) le supporte. - - - La meilleure façon d'installer tous les fichiers nécessaires - est d'utiliser l'Instant Client Oracle, qui est disponible à l'adresse : - &url.oracle.instant.client;. - Pour fonctionner avec OCI8, le module OCI8 "basic" de l'Instant Client Oracle est - suffisant. L'Instant Client n'a pas besoin que les variables d'environnement - ORACLE_SID ou ORACLE_HOME soient définies. Par contre, vous devez toujours - définir les variables LD_LIBRARY_PATH et NLS_LANG. + Pour utiliser Oracle Instant Client, installez le fichier + compressé basic ou basiclite de + Oracle Instant Client ou le paquet RPM. Lorsque vous compilez PHP depuis + ces sources, installez également le fichier compressé + sdk ou le paquet RPM devel. - Avant d'utiliser cette extension, assurez-vous que vous avez bien - paramétré vos variables d'environnement Oracle, ainsi que votre - démon utilisateur. Ces variables doivent être définies avant - de démarrer votre serveur web. Les variables dont vous pouvez avoir besoin sont : - - - - ORACLE_HOME - - - - - ORACLE_SID - - - - - LD_PRELOAD - - - - - LD_LIBRARY_PATH - - - - - NLS_LANG - - - - Pour les variables d'environnement Oracle moins fréquemment utilisées - comme TNS_ADMIN, TWO_TASK, ORA_TZFILE ainsi que les - diverses configurations globales Oracle comme les variables - ORA_NLS33, ORA_NLS10 et NLS_*, référez-vous à la documentation Oracle. + Sous Windows, OCI8 a besoin des bibliothèques clientes versions + 10gR2 ou supérieur. Suivant la version du client Instant, vous pourriez + également avoir besoin des bibliothèques + mfc71.dll et msvcr71.dll. - Après avoir configuré ces variables pour votre utilisateur "serveur - web", assurez-vous aussi d'ajouter cet utilisateur (nobody, - www) au groupe Oracle. + Vous devriez exécuter PHP avec la même version (ou plus récente) des + bibliothèques Oracle utilisées pour compiler OCI8. - - Si votre serveur web ne démarre pas ou plante au démarrage avec Oracle - - Vérifiez que Apache a bien été compilé avec la bibliothèque pthread : + Si OCI8 utilise les bibliothèques clientes 9iR2 ou 10g, alors PHP + peut se connecter aux bases de données Oracle 8i, 9iR2, 10g ou 11g. + Si OCI8 utilise les bibliothèques clientes 11g, la base de données + peut être 9iR2, 10g ou 11g. + + - - - /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) -]]> - - + Le support de toutes les fonctionnalités OCI8 n'est disponible que + lors de l'utilisation des versions les plus récentes des bibliothèques + clientes mais aussi de la base de données la plus récente. - - Si la libpthread n'est pas listée, vous devez réinstaller Apache : - - - - - - - - - - Notez bien que sur certains systèmes comme UnixWare il faut utiliser - libthread au lieu de libpthread. PHP et Apache doivent alors être configurés - avec EXTRA_LIBS=-lthread. -
- + -
- &reftitle.install; - &no.install; -
+ &reference.oci8.configure; - + + + &reference.oci8.testing; + + &reference.oci8.ini; - - -
- &reftitle.resources; - &no.resource; -
- - +
+