cvs: phpdoc /fr/functions ifx.xml
| From: | Damien Seguy | Date: | Thu, 12 Jul 2001 12:19:14 +0000 |
| Subject: | cvs: phpdoc /fr/functions ifx.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969336206@lists.php.net to get a copy of this message | ||
dams Thu Jul 12 08:19:14 2001 EDT
Modified files:
/phpdoc/fr/functions ifx.xml
Log:
Corrected build-breaking files.Next build should go
Index: phpdoc/fr/functions/ifx.xml diff -u phpdoc/fr/functions/ifx.xml:1.8 phpdoc/fr/functions/ifx.xml:1.9 --- phpdoc/fr/functions/ifx.xml:1.8 Sat Jul 7 18:22:11 2001 +++ phpdoc/fr/functions/ifx.xml Thu Jul 12 08:19:14 2001 @@ -1,678 +1,682 @@ - <reference id="ref.ifx"> - <title>Informix</title> - <titleabbrev>Informix</titleabbrev> - <partintro> - <para> - Les pilotes d'accès à Informix pour Online (ODS) 7.x, SE 7.x, - Universal Server (IUS) 9.x et IDS 2000 sont implémentés dans - "functions/ifx.ec" et "functions/php3_ifx.h". Le support ODS 7.x est - plutôt complet, et accepte les colonnes de type BYTE et TEXT. - Le support IUS 9.x est partiellment fini, de nouveau types sont disponibles, - mais SLOB et CLOB sont toujours en développement. - </para> - <note> - <title>Notes de configuration</title> - <para> - Vous avez besoin d'une version de ESQL/C pour compiler le pilote PHP d'Informix. - Les versions ESQL/C 7.2x sont utilisables. ESQL/C fait partie du SDK - Informix Client. - </para> - <para> - Avant que vous ne lanciez le script "configure", assurez vous que la variable - d'environnement "INFORMIXDIR" a été correctement - paramétrée, et que $INFORMIXDIR/bin est dans votre PATH. - </para> - <para> - Le script de configuration va détecter automatiquement les librairies - disponibles, et inclure les dossiers si vous lancer le script avec l'option - "configure --with_informix=yes". Vous pouvez ignorer cette détection en spécifiant - "IFX_LIBDIR", "IFX_LIBS" et "IFX_INCDIR" dans votre environnement. Le script de - configuration va aussi essayer de détecter la version de votre serveur Informix. - Il modifiera alors la condition de compilation "HAVE_IFX_IUS" si votre serveur - Informix est d'une version plus récente que 9.00. - </para> - </note> - <note> - <title>Notes d'exécutions</title> - <para> - Assurez vous que les variables d'environnement INFORMIXDIR et - INFORMIXSERVER sont accessibles au pilote PHP, et que le dossier bin - INFORMIX est aussi dans la variable PATH. Vous pouvez le voir en lancant un - script qui contient un appel à <function>phpinfo</function> avant - que vous ne commenciez à tester. La fonction - <function>phpinfo</function> affiche une liste des variables - d'environnement. Cela fonctionne aussi bien en mode - mod_php, qu'en mode CGI. Il vous faudra fixer les valeurs dans le script - de démarrage d'Apache. - </para> - <para> - Les "Informix shared libraries" doivent aussi être accessibles au - chargement (vérifiez LD_LINBRARY_PATH ou ld.so.conf/ldconfig). - </para> - </note> - <note> - <title>Notes sur l'utilisation des BLOBs (TEXT et BYTE)</title> - <para> - Les objets de type BLOBs sont normalement gérés par des - identifiants de BLOB. Les requêtes de sélection retournent - un identifiant de BLOB pour chaque colonne de type BYTE et TEXT. Vous - pouvez en lire le contenu, avec des commandes de types - "string_var = ifx_get_blob($BLOB_id);" ; si vous souhaitez ramener le BLOB en - mémoire (avec: "ifx_blobinfile_mode(0);"). Si vous préférez - recevoir le contenu d'une colonne BLOB dans un fichier, utilisez - <function>ifx_blobinfile_mode</function>, et ifx_get_blob($BLOB_id) - vous retournera le nom du fichier. Utilisez les fonctions habituelles - d'accès aux fichiers pour lire son contenu. - </para> - <para> - Pour les requêtes INSERT/UPDATE, vous devez créer les identifiants - de BLOB par vous même, avec la fonction <function>ifx_create_blob</function>. - Puis, vous placez l'identifiant de BLOB dans un tableau, et remplacez - la colonne par un point d'interrogation. Pour les UPDATE/INSERT, vous - êtes responsable du contenu du BLOB, avec la fonction - <function>ifx_update_blob</function>. - </para> - <para> - Le comportement par défaut des colonnes de type BLOB peut être - modifié en affectant de nouvelles valeurs aux variables de configuration - (même à la volée) : - </para> - <para> - Variable de configuration : ifx.textasvarchar - </para> - <para> - Variable de configuration : ifx.byteasvarchar - </para> - <para> - Fonctions à utiliser lors de l'exécution : - </para> - <para> - ifx_textasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type - TEXT, dans les requêtes SELECT - </para> - <para> - ifx_byteasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type - BYTE, dans les requêtes SELECT - </para> - <para> - ifx_textasvarchar(1) : Retourne les colonnes de type TEXT sous la forme de - VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. - </para> - <para> - ifx_byteasvarchar(1) : Retourne les colonnes de type BYTE sous la forme de - VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. - </para> - <para> - Variable de configuration : ifx.BLOBinfile - </para> - <para> - Fonctions à utiliser lors de l'exécution : - </para> - <para> - ifx_blobinfile_mode(0) : Retourne les colonnes de type BYTE en mémoire, - l'identifiant de BLOB vous donnera accès au contenu. - </para> - <para> - ifx_blobinfile_mode(1) : Retourne les colonnes de type BYTE dans un fichier, - l'identifiant de BLOB vous donnera accès au nom de ce fichier. - </para> - <para> - En affectant la valeur de 1 à ifx_text/byteasvarchar, vous pouvez - utiliser les colonnes de type TEXT et BYTE dans les requêtes SELECT - comme des champs VARCHAR (mais plus long). Etant donné la gestion - des chaînes par PHP, cette technique conserve les données - binaires. Les données retournées peuvent contenir n'importe - quoi, et vous êtes responsable de la bonne manipulation de ces valeurs. - </para> - <para> - En affectant la valeur de 1 à <function>ifx_blobinfile_mode</function>, - utilisez le nom de fichier retourné par <function>ifx_get_blob</function> - pour accéder au contenu du BLOB. Notez bien que vous êtes tenu - responsable de l'effacement des fichiers temporaires, créés par - Informix. Chaque nouvelle ligne lue sur le serveur va créer un nouveau - fichier temporaire, pour chaque colonne de type BYTE. - </para> - <para> - L'emplacement des fichiers temporaire peut être modifié, grâce - à la variable "blobdir", (par défaut, ".", c'est à dire, - le dossier courant). Une valeur telle que BLOBdir="tmpBLOB" simplifiera le - nettoyage des fichiers temporaires, accidentellement oubliés (les noms - commencent tous par "blb"). - </para> - </note> - <note> - <title>Suppression automatique des espaces (SQLCHAR et SQLNCHAR)</title> - <para> - Elle peut être mise en place avec la variable de configuration. - </para> - <para> - ifx.charasvarchar : avec la valeur 1, les espaces de fin de champs seront - automatiquement supprimés. - </para> - </note> - <note> - <title>&null; values</title> - <para> - Lorsque la variable de configuration ifx.nullformat (ou que la fonction - <function>ifx_nullformat</function>) est à un, les colonnes contenant - la valeur &null; retourneront la chaîne "&null;", et sinon, retourneront - une chaîne vide. Cela vous permet de faire la différence entre - les colonnes vides et celle qui contiennent la valeur &null;. - </para> - </note> - </partintro> - <refentry id="function.ifx-connect"> - <refnamediv> - <refname>ifx_connect</refname> - <refpurpose>Ouvre une connexion à un serveur Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_connect</function></funcdef> - <paramdef>string <parameter><optional>database</optional> - </parameter></paramdef> - <paramdef>string <parameter><optional>userid</optional> - </parameter></paramdef> - <paramdef>string <parameter><optional>password</optional> - </parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_connect</function> retourne un identifiant de connexion, en - cas de succès, et &false; sinon. - </para> - <para> - <function>ifx_connect</function> établit une connexion à un - serveur Informix. Tous les arguments sont optionnels, et, si ils viennent - à manquer, les valeurs par défaut seront prises dans le - fichier <link linkend="configuration.file">de configuration </link>. - (ifx.default_host pour l'hôte par défaut) (Les librairies - Informix utiliseront la variable d'environnement <envar>$INFORMIXSERVER</envar> - si ifx.default_host n'est pas définie). ifx.default_user pour - l'utilisateur, et ifx.default_password comme mot de passe (si aucun n'a - été défini). - </para> - <para> - Si un deuxième appel à <function>ifx_connect</function> est - fait avec les mêmes arguments, l'identifiant de connexion - déjà ouvert sera retourné. - </para> - <para> - Le lien avec le serveur sera fermé dès que le script se - termine, ce qui fait qu'il n'est pas nécessaire de terminer - les connexions avec <function>ifx_close</function>. - </para> - <para> - Voir aussi<function>ifx_pconnect</function> et <function>ifx_close</function>. - <example> - <title>Connection à un serveur Informix</title> - <programlisting role="php"> +<reference id="ref.ifx"> + <title>Informix</title> + <titleabbrev>Informix</titleabbrev> + <partintro> + <para> + Les pilotes d'accès à Informix pour Online (ODS) 7.x, SE 7.x, + Universal Server (IUS) 9.x et IDS 2000 sont implémentés dans + "functions/ifx.ec" et "functions/php3_ifx.h". Le support ODS 7.x est + plutôt complet, et accepte les colonnes de type BYTE et TEXT. + Le support IUS 9.x est partiellement fini, de nouveaux types sont disponibles, + mais SLOB et CLOB sont toujours en cours de développement. + </para> + <note> + <title>Notes de configuration</title> + <para> + Vous avez besoin d'une version de ESQL/C pour compiler le pilote PHP d'Informix. + Les versions ESQL/C 7.2x sont utilisables. ESQL/C fait partie du SDK + Informix Client. + </para> + <para> + Avant que vous ne lanciez le script "configure", assurez-vous que la variable + d'environnement "INFORMIXDIR" a été correctement + paramétrée, et que $INFORMIXDIR/bin est dans votre PATH. + </para> + <para> + Le script de configuration va détecter automatiquement les librairies + disponibles, et inclure les dossiers si vous lancer le script avec l'option + <link linkend="install.configure.with-informix"><option role="configure">--with-informix=yes</option></link>. + Vous pouvez ignorer cette détection + en spécifiant "IFX_LIBDIR", "IFX_LIBS" et "IFX_INCDIR" dans votre + environnement. Le script de + configuration va aussi essayer de détecter la version de votre serveur Informix. + Il modifiera alors la condition de compilation "HAVE_IFX_IUS" si votre serveur + Informix est d'une version plus récente que 9.00. + </para> + </note> + <note> + <title>Notes d'exécutions</title> + <para> + Assurez-vous que les variables d'environnement INFORMIXDIR et + INFORMIXSERVER sont accessibles au pilote PHP, et que le dossier bin + INFORMIX est aussi dans la variable PATH. Vous pouvez le voir en lançant un + script qui contient un appel à <function>phpinfo</function> avant + que vous ne commenciez à tester. La fonction + <function>phpinfo</function> affiche une liste des variables + d'environnement. Cela fonctionne aussi bien en mode + mod_php, qu'en mode CGI. Il vous faudra fixer les valeurs dans le script + de démarrage d'Apache. + </para> + <para> + Les "Informix shared libraries" doivent aussi être accessibles au + chargement (vérifiez LD_LINBRARY_PATH ou ld.so.conf/ldconfig). + </para> + </note> + <note> + <title>Notes sur l'utilisation des BLOBs (TEXT et BYTE)</title> + <para> + Les objets de type BLOBs sont normalement gérés par des + identifiants de BLOB. Les requêtes de sélection retournent + un identifiant de BLOB pour chaque colonne de type BYTE et TEXT. Vous + pouvez en lire le contenu, avec des commandes de types + "string_var = ifx_get_blob($BLOB_id);" ; si vous souhaitez ramener le BLOB en + mémoire (avec: "ifx_blobinfile_mode(0);"). Si vous préférez + recevoir le contenu d'une colonne BLOB dans un fichier, utilisez + <function>ifx_blobinfile_mode</function>, et ifx_get_blob($BLOB_id) + vous retournera le nom du fichier. Utilisez les fonctions habituelles + d'accès aux fichiers pour lire son contenu. + </para> + <para> + Pour les requêtes INSERT/UPDATE, vous devez créer les identifiants + de BLOB par vous même, avec la fonction <function>ifx_create_blob</function>. + Puis, vous placez l'identifiant de BLOB dans un tableau, et remplacez + la colonne par un point d'interrogation. Pour les UPDATE/INSERT, vous + êtes responsable du contenu du BLOB, avec la fonction + <function>ifx_update_blob</function>. + </para> + <para> + Le comportement par défaut des colonnes de type BLOB peut être + modifié en affectant de nouvelles valeurs aux variables de configuration + (même à la volée) : + </para> + <para> + Variable de configuration : ifx.textasvarchar + </para> + <para> + Variable de configuration : ifx.byteasvarchar + </para> + <para> + Fonctions à utiliser lors de l'exécution : + </para> + <para> + ifx_textasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type + TEXT, dans les requêtes SELECT + </para> + <para> + ifx_byteasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type + BYTE, dans les requêtes SELECT + </para> + <para> + ifx_textasvarchar(1) : Retourne les colonnes de type TEXT sous la forme de + VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. + </para> + <para> + ifx_byteasvarchar(1) : Retourne les colonnes de type BYTE sous la forme de + VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. + </para> + <para> + Variable de configuration : ifx.BLOBinfile + </para> + <para> + Fonctions à utiliser lors de l'exécution : + </para> + <para> + ifx_blobinfile_mode(0) : Retourne les colonnes de type BYTE en mémoire, + l'identifiant de BLOB vous donnera accès au contenu. + </para> + <para> + ifx_blobinfile_mode(1) : Retourne les colonnes de type BYTE dans un fichier, + l'identifiant de BLOB vous donnera accès au nom de ce fichier. + </para> + <para> + En affectant la valeur de 1 à ifx_text/byteasvarchar, vous pouvez + utiliser les colonnes de type TEXT et BYTE dans les requêtes SELECT + comme des champs VARCHAR (mais plus long). Etant donné la gestion + des chaînes par PHP, cette technique conserve les données + binaires. Les données retournées peuvent contenir n'importe + quoi, et vous êtes responsable de la bonne manipulation de ces valeurs. + </para> + <para> + En affectant la valeur de 1 à <function>ifx_blobinfile_mode</function>, + utilisez le nom de fichier retourné par <function>ifx_get_blob</function> + pour accéder au contenu du BLOB. Notez bien que vous êtes tenu + responsable de l'effacement des fichiers temporaires, créés par + Informix. Chaque nouvelle ligne lue sur le serveur va créer un nouveau + fichier temporaire, pour chaque colonne de type BYTE. + </para> + <para> + L'emplacement des fichiers temporaire peut être modifié, grâce + à la variable "blobdir", (par défaut, ".", c'est-à-dire, + le dossier courant). Une valeur telle que BLOBdir="tmpBLOB" simplifiera le + nettoyage des fichiers temporaires, accidentellement oubliés (les noms + commencent tous par "blb"). + </para> + </note> + <note> + <title>Suppression automatique des espaces (SQLCHAR et SQLNCHAR)</title> + <para> + Elle peut être mise en place avec la variable de configuration. + </para> + <para> + ifx.charasvarchar : avec la valeur 1, les espaces de fin de champs seront + automatiquement supprimés. + </para> + </note> + <note> + <title>NULL values</title> + <para> + Lorsque la variable de configuration ifx.nullformat (ou que la fonction + <function>ifx_nullformat</function>) est à un, les colonnes contenant + la valeur NULL retourneront la chaîne "NULL", et sinon, retourneront + une chaîne vide. Cela vous permet de faire la différence entre + les colonnes vides et celles qui contiennent la valeur NULL. + </para> + </note> + </partintro> + <refentry id="function.ifx-connect"> + <refnamediv> + <refname>ifx_connect</refname> + <refpurpose>Ouvre une connexion à un serveur Informix.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_connect</function></funcdef> + <paramdef>string <parameter><optional>database</optional> + </parameter></paramdef> + <paramdef>string <parameter><optional>userid</optional> + </parameter></paramdef> + <paramdef>string <parameter><optional>password</optional> + </parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_connect</function> retourne un identifiant de connexion, en + cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ifx_connect</function> établit une connexion à un + serveur Informix. Tous les arguments sont optionnels, et, s'ils viennent + à manquer, les valeurs par défaut seront prises dans le + fichier <link linkend="configuration.file">de configuration </link>. + (ifx.default_host pour l'hôte par défaut) (Les librairies + Informix utiliseront la variable d'environnement <envar>$INFORMIXSERVER</envar> + si ifx.default_host n'est pas définie). ifx.default_user pour + l'utilisateur, et ifx.default_password comme mot de passe (si aucun n'a + été défini). + </para> + <para> + Si un deuxième appel à <function>ifx_connect</function> est + fait avec les mêmes arguments, l'identifiant de connexion + déjà ouvert sera retourné. + </para> + <para> + Le lien avec le serveur sera fermé dès que le script se + termine, ce qui fait qu'il n'est pas nécessaire de terminer + les connexions avec <function>ifx_close</function>. + </para> + <para> + Voir aussi<function>ifx_pconnect</function> et <function>ifx_close</function>. + <example> + <title>Connection à un serveur Informix</title> + <programlisting role="php"> <?php -$conn_id = ifx_pconnect ("mydb@ol_srv1", "imyself", "mypassword"); +$conn_id = ifx_pconnect ("mydb@ol_srv1", "imyself", "mypassword"); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-pconnect"> - <refnamediv> - <refname>ifx_pconnect</refname> - <refpurpose> - Ouvre une connexion persistante à un serveur Informix. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_pconnect</function></funcdef> - <paramdef>string - <parameter><optional>database</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>userid</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>password</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_pconnect</function> retourne un identifiant positif de - connexion Informix, ou &false;, en cas d'erreur. - </para> - <para> - <function>ifx_pconnect</function> se comporte de manière très - similaire à <function>ifx_connect</function> avec deux - différences importantes : - </para> - <para> - <function>ifx_pconnect</function> se comporte exactement comme - <function>ifx_connect</function> lorsque PHP n'est pas un module Apache. - Lors de la connexion, la fonction va chercher une connexion déjà - ouverte avec le même hôte, le même nom d'utilisateur, et le - même mot de passe. Si elle en trouve une, elle retournera un - identifiant de cette connexion, au lieu d'en ouvrir une nouvelle. - </para> - <para> - Deuxièmement, la connexion au serveur SQL ne sera pas automatiquement - refermée à la fin de l'exécution du script. Au contraire, - le lien va rester ouvert (<function>ifx_close</function> ne fermera pas les - connexions établies avec <function>ifx_pconnect</function>). - </para> - <para> - Ainsi, ce type de lien est appelé 'persistant'. - </para> - <para> - Voir aussi: <function>ifx_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-close"> - <refnamediv> - <refname>ifx_close</refname> - <refpurpose>Ferme une connexion à un serveur Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_close</function></funcdef> - <paramdef>int - <parameter><optional>link_identifier</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_close</function> retourne toujours &true;. - </para> - <para> - <function>ifx_close</function> ferme le lien au serveur de données - Informix associé à l'identifant de connexion - <parameter><optional>link_identifier</optional></parameter>. - Si l'identifiant du lien n'est pas spécifié, la - dernière connexion est utilisée. - </para> - <para> - Notez qu'il n'est généralement pas besoin d'appeler - cette fonction, car les connexions non persistantes seront - automatiquement fermées. - </para> - <para> - <function>ifx_close</function> ne peut pas fermer une connexion ouverte avec - <function>ifx_pconnect</function>. - </para> - <para> - Voir aussi: <function>ifx_connect</function> et <function>ifx_pconnect</function>. - <example> - <title>Fermer une connexion Informix</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-pconnect"> + <refnamediv> + <refname>ifx_pconnect</refname> + <refpurpose> + Ouvre une connexion persistante à un serveur Informix. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_pconnect</function></funcdef> + <paramdef>string + <parameter><optional>database</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>userid</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>password</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_pconnect</function> retourne un identifiant positif de + connexion Informix, ou <literal>FALSE</literal>, en cas d'erreur. + </para> + <para> + <function>ifx_pconnect</function> se comporte de manière très + similaire à <function>ifx_connect</function> avec deux + différences importantes : + </para> + <para> + <function>ifx_pconnect</function> se comporte exactement comme + <function>ifx_connect</function> lorsque PHP n'est pas un module Apache. + Lors de la connexion, la fonction va chercher une connexion déjà + ouverte avec le même hôte, le même nom d'utilisateur, et le + même mot de passe. Si elle en trouve une, elle retournera un + identifiant de cette connexion, au lieu d'en ouvrir une nouvelle. + </para> + <para> + Deuxièmement, la connexion au serveur SQL ne sera pas automatiquement + refermée à la fin de l'exécution du script. Au contraire, + le lien va rester ouvert (<function>ifx_close</function> ne fermera pas les + connexions établies avec <function>ifx_pconnect</function>). + </para> + <para> + Ainsi, ce type de lien est appelé 'persistant'. + </para> + <para> + Voir aussi: <function>ifx_connect</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-close"> + <refnamediv> + <refname>ifx_close</refname> + <refpurpose>Ferme une connexion à un serveur Informix.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_close</function></funcdef> + <paramdef>int + <parameter><optional>link_identifier</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_close</function> retourne toujours <literal>TRUE</literal>. + </para> + <para> + <function>ifx_close</function> ferme le lien au serveur de données + Informix associé à l'identifant de connexion + <parameter>link_identifier</parameter>. + Si l'identifiant du lien n'est pas spécifié, la + dernière connexion est utilisée. + </para> + <para> + Notez qu'il n'est généralement pas besoin d'appeler + cette fonction, car les connexions non persistantes seront + automatiquement fermées. + </para> + <para> + <function>ifx_close</function> ne peut pas fermer une connexion ouverte avec + <function>ifx_pconnect</function>. + </para> + <para> + Voir aussi: <function>ifx_connect</function> et <function>ifx_pconnect</function>. + <example> + <title>Fermer une connexion Informix</title> + <programlisting role="php"> <?php -$conn_id = ifx_connect ("mydb@ol_srv", "coucou", "cestmoi"); +$conn_id = ifx_connect ("mydb@ol_srv", "coucou", "cestmoi"); //... quelques requêtes diverses et variées ... ifx_close($conn_id); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-query"> - <refnamediv> - <refname>ifx_query</refname> - <refpurpose>Envoie une requête Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_query</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int - <parameter><optional>link_identifier</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>cursor_type</optional></parameter> - </paramdef> - <paramdef>mixed - <parameter> - <optional>blobidarray</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_query</function> retourne un identifiant positif de - résultat Informix en cas de succès, et &false; en cas d'erreur. - </para> - <para> - L'entier de type "identifiant de résultat" est utilisé par4 - d'autres fonctions pour lire les résultats. Pour un exemple, - reportez vous à <function>ifx_affected_rows</function> pour - connaître le nombre de lignes affectées. - </para> - <para> - <function>ifx_query</function> envoie une requête au serveur - actif courant, associé à l'identifiant de connexion - <parameter><optional>link_identifier</optional></parameter>. Si - <parameter><optional>link_identifier</optional></parameter> n'est pas fourni, - la dernière connexion ouverte sera utilisée. Si aucune connexion - n'a été ouverte, <function>ifx_query</function> va essayer d'en - créer une, en appelant <function>ifx_connect</function>. - </para> - <para> - Exécute la requête <parameter>query</parameter> sur la connexion - <parameter>conn_id</parameter>. Pour les requêtes de type SELECT, un - pointeur est déclaré, et ouvert. L'option - <parameter>cursor_type</parameter> permet de choisir le type de - pointeur, "scroll" et/ou "hold". <parameter>cursor_type</parameter> accepte - les deux valeurs séparées, et leur combinaison. Les - requêtes d'autre type sont à exécution immédiate. - </para> - <para> - Le nombre de lignes affectées (estimé ou exact) est - enregistré pour être lu avec <function>ifx_affected_rows</function>. - </para> - <para> - Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de - modification, vous pouvez passer un paramètre - <parameter>BLOBidarray</parameter> qui contiendra les identifiants - des BLOB à modifier, et vous devrez remplacer cette colonne par - un point d'interrogation (?) dans la requête. - </para> - <para> - Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez - aussi utiliser les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser - les colonnes TEXT ( ou BYTE ) comme des colonnes de type VARCHAR (mais - plus long, tout de même), et vous n'aurez pas besoin de l'identifiant - de BLOB. - </para> - <para> - Avec les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function> (valeurs par défaut), les - requêtes SELECT retourneront des identifiants de BLOB. Cet identifiant - peut être une chaîne ou un fichier, suivant la configuration - (voir plus loin). - </para> - <para> - Voir aussi : <function>ifx_connect</function>. - <example> - <title> - Afficher toutes les lignes de la table "ordres" sous la forme html - </title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-query"> + <refnamediv> + <refname>ifx_query</refname> + <refpurpose>Envoie une requête Informix.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_query</function></funcdef> + <paramdef>string <parameter>query</parameter></paramdef> + <paramdef>int + <parameter><optional>link_identifier</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>cursor_type</optional></parameter> + </paramdef> + <paramdef>mixed + <parameter> + <optional>blobidarray</optional> + </parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_query</function> retourne un identifiant positif de + résultat Informix en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + L'entier de type "identifiant de résultat" est utilisé par4 + d'autres fonctions pour lire les résultats. Pour un exemple, + reportez-vous à <function>ifx_affected_rows</function> pour + connaître le nombre de lignes affectées. + </para> + <para> + <function>ifx_query</function> envoie une requête au serveur + actif courant, associé à l'identifiant de connexion + <parameter>link_identifier</parameter>. Si + <parameter>link_identifier</parameter> n'est pas fourni, + la dernière connexion ouverte sera utilisée. Si aucune connexion + n'a été ouverte, <function>ifx_query</function> va essayer d'en + créer une, en appelant <function>ifx_connect</function>. + </para> + <para> + Exécute la requête <parameter>query</parameter> sur la connexion + <parameter>conn_id</parameter>. Pour les requêtes de type SELECT, un + pointeur est déclaré, et ouvert. L'option + <parameter>cursor_type</parameter> permet de choisir le type de + pointeur, "scroll" et/ou "hold". <parameter>cursor_type</parameter> accepte + les deux valeurs séparées, et leur combinaison. Les + requêtes d'autre type sont à exécution immédiate. + </para> + <para> + Le nombre de lignes affectées (estimé ou exact) est + enregistré pour être lu avec <function>ifx_affected_rows</function>. + </para> + <para> + Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de + modification, vous pouvez passer un paramètre + <parameter>BLOBidarray</parameter> qui contiendra les identifiants + des BLOB à modifier, et vous devrez remplacer cette colonne par + un point d'interrogation (?) dans la requête. + </para> + <para> + Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez + aussi utiliser les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser + les colonnes TEXT ( ou BYTE ) comme des colonnes de type VARCHAR (mais + plus long, tout de même), et vous n'aurez pas besoin de l'identifiant + de BLOB. + </para> + <para> + Avec les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function> (valeurs par défaut), les + requêtes SELECT retourneront des identifiants de BLOB. Cet identifiant + peut être une chaîne ou un fichier, suivant la configuration + (voir plus loin). + </para> + <para> + Voir aussi : <function>ifx_connect</function>. + <example> + <title> + Afficher toutes les lignes de la table "ordres" sous la forme html + </title> + <programlisting role="php"> ifx_textasvarchar(1); // Utilisation du mode "text mode" pour les BLOBs $res_id = ifx_query("select * from orders", $conn_id); if (! $res_id) { - printf("Impossible de selectionner des lignes dans : %s\n<br>%s<br>\n", ifx_error()); + printf("Impossible de sélectionner des lignes dans : %s\n<br>%s<br>\n", ifx_error()); ifx_errormsg(); die; } ifx_htmltbl_result($res_id, "border=\"1\""); ifx_free_result($res_id); - </programlisting> - </example> - <example> - <title>Insertion de valeurs dans la table "catalogue" </title> - <programlisting role="php"> + </programlisting> + </example> + <example> + <title>Insertion de valeurs dans la table "catalogue" </title> + <programlisting role="php"> <?php - // créer un identifiant de BLOB pour une colonne de type BYTE et une de type TEXT +// créer un identifiant de BLOB pour une colonne de type BYTE et une de type TEXT $textid = ifx_create_blob(0, 0, "Colonne Text en mémoire"); $byteid = ifx_create_blob(1, 0, "Colonne Byte en mémoire"); - // Stocke l'identifiant du BLOB dans le tableau BLOBid +// Stocke l'identifiant du BLOB dans le tableau BLOBid $BLOBidarray[] = $textid; $BLOBidarray[] = $byteid; - // launch query +// éxécute la requête $query = "insert into catalog (stock_num, manu_code, " . "cat_descr,cat_picture) values(1,'HRO',?,?)"; $res_id = ifx_query($query, $conn_id, $BLOBidarray); if (! $res_id) { - ... erreur ... +// ... erreur ... } - // libération du résultat +// libération du résultat ifx_free_result($res_id); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-prepare"> - <refnamediv> - <refname>ifx_prepare</refname> - <refpurpose>Prépare une requête SQL pour l'exécution.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_prepare</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>conn_id</parameter></paramdef> - <paramdef>int - <parameter><optional>cursor_def</optional></parameter> - </paramdef> - <paramdef>mixed <parameter>blobidarray</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_prepare</function> retourne un entier identifiant de - résultat <parameter>result_id</parameter> à utiliser - avec <function>ifx_do</function>. Modifie la valeur de - <parameter>affected_rows</parameter>, pour accès ultérieur - avec <function>ifx_affected_rows</function>. - </para> - <para> - Prépare la requête <parameter>query</parameter> sur la connexion - <parameter>conn_id</parameter>. Pour les requêtes de type "select-type" - un pointeur de résultat est déclaré et ouvert. L'option - <parameter>cursor_type</parameter> permet de choisir le type de pointeur : - "scroll" et/ou "hold". Les valeurs peuvent être combinées ensemble - (IFX_SCROLL, IFX_HOLD). - </para> - <para> - Le nombre de ligne affectérs (estimé ou exact) est - enregistré, pour être lu avec la fonction - <function>ifx_affected_rows</function>. - </para> - <para> - Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de - modification, vous pouvez passer un paramètre - <parameter>BLOBidarray</parameter> qui contiendra les identifiants - des BLOB à modifier, et vous devrez remplacer cette colonne par - un point d'interrogation (?) dans la requête. - </para> - <para> - Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez aussi - utiliser les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser - les colonnes TEXT (ou BYTE) comme des colonnes de type VARCHAR (mais plus - long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB. - </para> - <para> - Avec les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function> (valeurs par défaut), les - requêtes SELECT retourneront des identifiants de BLOB. - Cet identifiant peut être une chaîne ou un fichier, - suivant la configuration (voir plus loin). - </para> - <para> - Voir aussi <function>ifx_do</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-do"> - <refnamediv> - <refname>ifx_do</refname> - <refpurpose> - Exécute une requête SQL déjà préparée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_do</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_do</function> retourne &true; en cas de succès, - &false; en cas d'erreur. - </para> - <para> - Exécute une requête qui a déjà été - préparée, ou crée un pointeur pour cela. - </para> - <para> - Ne libère pas <parameter>result_id</parameter> en cas d'erreur. - </para> - <para> - De plus, elle fixe la valeur de <parameter>result_id</parameter> pour - accès ultérieur par <function>ifx_affected_rows</function>. - </para> - <para> - Voir aussi : <function>ifx_prepare</function>. Il y a un exemple. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-error"> - <refnamediv> - <refname>ifx_error</refname> - <refpurpose>Retourne le code d'erreur de la dernière requête Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ifx_error</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_error</function> retourne le code d'erreur de la dernière - requête Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) - formaté comme suit : - </para> - <para> - x [SQLSTATE = aa bbb SQLCODE=cccc] - </para> - <para> - avec x = space : aucune erreur - </para> - <para> - E : erreur - </para> - <para> - N : il n'y a plus d'informations - </para> - <para> - W : Alerte - </para> - <para> - ? : Undéfinie - </para> - <para> - Si le caractère vaut autre chose qu'un espace, SQLSTATE et SQLCODE - décrit l'erreur avec plus de détails. - </para> - <para> - Reportez vous au manuel Informix pour trouver la description de - SQLSTATE et SQLCODE - </para> - <para> - Retourne une chaîne avec un caractères, décrivant le - résultat général de la commande, et aussi SQLSTATE et - SQLCODE associé à la plus récente requête SQL - exécutée. Le format de la chaîne est - "(char) [SQLSTATE=(deux chiffres) (trois chiffres) SQLCODE=(un chiffre)]". - Le premier caractère peut être '<literal> </literal>' - (espace) (succès), '<literal>W</literal>' (Alerte), - '<literal>E</literal>' (une erreur est survenue durant le traitement ) - ou '<literal>N</literal>' (aucune donnée de retour). - </para> - <para> - Voir aussi: <function>ifx_errormsg</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-errormsg"> - <refnamediv> - <refname>ifx_errormsg</refname> - <refpurpose> - Retourne le message d'erreur de la dernière requête Informix. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ifx_errormsg</function></funcdef> - <paramdef>int - <parameter><optional>errorcode</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_errormsg</function> retourne le plus récent - message d'erreur ou, lorsque l'option <parameter>errorcode</parameter> est - présent, le message d'erreur associé à - <parameter>errorcode</parameter>. - </para> - <para> - Voir aussi: <function>ifx_error</function>. - </para> - <informalexample> - <programlisting role="php"> -printf("%s\n<br>", ifx_errormsg(-201)); </programlisting> - </informalexample> - </refsect1> - </refentry> - <refentry id="function.ifx-affected-rows"> - <refnamediv> - <refname>ifx_affected_rows</refname> - <refpurpose> - Retourne le nombre de lignes affectées par une requête. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_affected_rows</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_affected_rows</function> retourne le nombre de lignes - affectées par la requête associée à - <parameter>result_id</parameter>. - </para> - <para> - <parameter>result_id</parameter> est un identifiant valide de résultat - retourné par <function>ifx_query</function> ou - <function>ifx_prepare</function>. - </para> - <para> - Pour les INSERT, UPDATE et DELETE, ce nombre est le nombre exact de lignes - affectées (sqlerrd[2]). Pour les SELECT, ce n'est qu'une estimation - (sqlerrd[0]). Ne vous y fiez pas. - </para> - <para> - <function>ifx_affected_rows</function> est très pratique après - <function>ifx_prepare</function> pour limiter la taille des résultats. - </para> - <para> - Voir aussi : <function>ifx_num_rows</function>. - </para> - <example> - <title>Nombre de lignes affectées</title> - <programlisting role="php"> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-prepare"> + <refnamediv> + <refname>ifx_prepare</refname> + <refpurpose>Prépare une requête SQL pour l'exécution.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_prepare</function></funcdef> + <paramdef>string <parameter>query</parameter></paramdef> + <paramdef>int <parameter>conn_id</parameter></paramdef> + <paramdef>int + <parameter><optional>cursor_def</optional></parameter> + </paramdef> + <paramdef>mixed <parameter>blobidarray</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_prepare</function> retourne un entier identifiant de + résultat <parameter>result_id</parameter> à utiliser + avec <function>ifx_do</function>. Modifie la valeur de + <parameter>affected_rows</parameter>, pour accès ultérieur + avec <function>ifx_affected_rows</function>. + </para> + <para> + <function>ifx_prepare</function> prépare la requête + <parameter>query</parameter> sur la connexion <parameter>conn_id</parameter>. + Pour les requêtes de type "select-type" un pointeur de résultat + est déclaré et ouvert. L'option <parameter>cursor_type</parameter> + permet de choisir le type de pointeur : "scroll" et/ou "hold". Les valeurs + peuvent être combinées ensemble (IFX_SCROLL, IFX_HOLD). + </para> + <para> + Le nombre de ligne affectées (estimé ou exact) est + enregistré, pour être lu avec la fonction + <function>ifx_affected_rows</function>. + </para> + <para> + Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de + modification, vous pouvez passer un paramètre + <parameter>BLOBidarray</parameter> qui contiendra les identifiants + des BLOB à modifier, et vous devrez remplacer cette colonne par + un point d'interrogation (?) dans la requête. + </para> + <para> + Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez aussi + utiliser les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser + les colonnes TEXT (ou BYTE) comme des colonnes de type VARCHAR (mais plus + long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB. + </para> + <para> + Avec les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function> (valeurs par défaut), les + requêtes SELECT retourneront des identifiants de BLOB. + Cet identifiant peut être une chaîne ou un fichier, + suivant la configuration (voir plus loin). + </para> + <para> + Voir aussi <function>ifx_do</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-do"> + <refnamediv> + <refname>ifx_do</refname> + <refpurpose> + Exécute une requête SQL déjà préparée. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_do</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_do</function> retourne <literal>TRUE</literal> en cas de succès, + <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Exécute une requête qui a déjà été + préparée, ou crée un pointeur pour cela. + </para> + <para> + Ne libère pas <parameter>result_id</parameter> en cas d'erreur. + </para> + <para> + De plus, elle fixe la valeur de <parameter>result_id</parameter> pour + accès ultérieur par <function>ifx_affected_rows</function>. + </para> + <para> + Voir aussi : <function>ifx_prepare</function>. Il y a un exemple. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-error"> + <refnamediv> + <refname>ifx_error</refname> + <refpurpose> + Retourne le code d'erreur de la dernière requête Informix. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ifx_error</function></funcdef> + <paramdef>void</paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_error</function> retourne le code d'erreur de la dernière + requête Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) + formaté comme suit : + </para> + <para> + x [SQLSTATE = aa bbb SQLCODE=cccc] + </para> + <para> + avec x = space : aucune erreur + </para> + <para> + E : erreur + </para> + <para> + N : il n'y a plus d'informations + </para> + <para> + W : Alerte + </para> + <para> + ? : Indéfinie + </para> + <para> + Si le caractère vaut autre chose qu'un espace, SQLSTATE et SQLCODE + décrit l'erreur avec plus de détails. + </para> + <para> + Reportez-vous au manuel Informix pour trouver la description de + SQLSTATE et SQLCODE + </para> + <para> + <function>ifx_error</function> retourne une chaîne avec un caractères, + décrivant le résultat général de la commande, + et aussi SQLSTATE et SQLCODE associé à la plus récente + requête SQL exécutée. Le format de la chaîne est + "(char) [SQLSTATE=(deux chiffres) (trois chiffres) SQLCODE=(un chiffre)]". + Le premier caractère peut être '<literal> </literal>' + (espace) (succès), '<literal>W</literal>' (Alerte), + '<literal>E</literal>' (une erreur est survenue durant le traitement ) + ou '<literal>N</literal>' (aucune donnée de retour). + </para> + <para> + Voir aussi: <function>ifx_errormsg</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-errormsg"> + <refnamediv> + <refname>ifx_errormsg</refname> + <refpurpose> + Retourne le message d'erreur de la dernière requête Informix. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ifx_errormsg</function></funcdef> + <paramdef>int + <parameter><optional>errorcode</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_errormsg</function> retourne le plus récent + message d'erreur ou, lorsque l'option <parameter>errorcode</parameter> est + présent, le message d'erreur associé à + <parameter>errorcode</parameter>. + </para> + <para> + Voir aussi: <function>ifx_error</function>. + </para> + <informalexample> + <programlisting role="php"> +printf("%s\n<br>", ifx_errormsg(-201)); + </programlisting> + </informalexample> + </refsect1> + </refentry> + <refentry id="function.ifx-affected-rows"> + <refnamediv> + <refname>ifx_affected_rows</refname> + <refpurpose> + Retourne le nombre de lignes affectées par une requête. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_affected_rows</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_affected_rows</function> retourne le nombre de lignes + affectées par la requête associée à + <parameter>result_id</parameter>. + </para> + <para> + <parameter>result_id</parameter> est un identifiant valide de résultat + retourné par <function>ifx_query</function> ou + <function>ifx_prepare</function>. + </para> + <para> + Pour les INSERT, UPDATE et DELETE, ce nombre est le nombre exact de lignes + affectées (sqlerrd[2]). Pour les SELECT, ce n'est qu'une estimation + (sqlerrd[0]). Ne vous y fiez pas. + </para> + <para> + <function>ifx_affected_rows</function> est très pratique après + <function>ifx_prepare</function> pour limiter la taille des résultats. + </para> + <para> + Voir aussi : <function>ifx_num_rows</function>. + </para> + <example> + <title>Nombre de lignes affectées</title> + <programlisting role="php"> <?php $rid = ifx_prepare ("select * from emp where name like " . $name, $connid); @@ -681,139 +685,140 @@ } $rowcount = ifx_affected_rows ($rid); if ($rowcount > 1000) { - printf ("Trop de lignes trouvées (%d)\n<br>", $rowcount); - die ("Ressayez avec une autre requête. <br>\n"); + printf ("Trop de lignes trouvées (%d)\n<br>", $rowcount); + die ("Ressayez avec une autre requête. <br>\n"); } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-getsqlca"> - <refnamediv> - <refname>ifx_getsqlca</refname> - <refpurpose> - Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_getsqlca</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_getsqlca</function> retourne une pseudo-ligne (tableau - associatif) avec sqlca.sqlerrd[0] à sqlca.sqlerrd[5] après - la requête associée <parameter>result_id</parameter>. - </para> - <para> - <parameter>result_id</parameter> est un identifiant valide de résultat - retourné par <function>ifx_query</function> ou - <function>ifx_prepare</function>. - </para> - <para> - Pour les requêtes INSERT, UPDATE et DELETE, les valeurs - retournées sont celles fixées par le serveur après - avoir exécuté la requête. Cela donne accès au - nombre de ligne affectées, ainsi qu'au numéro de série - d'insertion. Pour les requêtes de type SELECT, les valeurs - retournées sont celles qui ont été - préparées. Utiliser cette fonction économise - l'exécution d'une requête "select dbinfo('sqlca.sqlerrdx')", - étant donné qu'elle retourne les valeurs qui ont été - sauvées par le pilote ifx au moment approprié. - </para> - <example> - <title>Lire les valeurs de sqlca.sqlerrd[x] </title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-getsqlca"> + <refnamediv> + <refname>ifx_getsqlca</refname> + <refpurpose> + Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_getsqlca</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_getsqlca</function> retourne une pseudo-ligne (tableau + associatif) avec sqlca.sqlerrd[0] à sqlca.sqlerrd[5] après + la requête associée <parameter>result_id</parameter>. + </para> + <para> + <parameter>result_id</parameter> est un identifiant valide de résultat + retourné par <function>ifx_query</function> ou + <function>ifx_prepare</function>. + </para> + <para> + Pour les requêtes INSERT, UPDATE et DELETE, les valeurs + retournées sont celles fixées par le serveur après + avoir exécuté la requête. Cela donne accès au + nombre de ligne affectées, ainsi qu'au numéro de série + d'insertion. Pour les requêtes de type SELECT, les valeurs + retournées sont celles qui ont été + préparées. Utiliser cette fonction économise + l'exécution d'une requête "select dbinfo('sqlca.sqlerrdx')", + étant donné qu'elle retourne les valeurs qui ont été + sauvées par le pilote ifx au moment approprié. + </para> + <example> + <title>Lire les valeurs de sqlca.sqlerrd[x] </title> + <programlisting role="php"> <?php /* On suppose que la première colonne d'une table 'quelconque' est un numéro de série */ $qid = ifx_query("insert into sometable values(0, '2nd column', 'another column' ", $connid); if (! $qid) { - ... erreur ... +// ... erreur ... } $sqlca = ifx_getsqlca ($qid); $serial_value = $sqlca["sqlerrd1"]; -echo "Le numéro de série de la valeur insérée est : " . $serial_value<br>\n"; +echo "Le numéro de série de la valeur insérée est : " . $serial_value<br>\n"; ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-fetch-row"> - <refnamediv> - <refname>ifx_fetch_row</refname> - <refpurpose> - Retourne une ligne sous la forme d'un tableau énuméré. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_fetch_row</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - <paramdef>mixed - <parameter><optional>position</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_fetch_row</function> retourne un tableau associatif qui - contient la ligne retournée, ou &false; si il ne reste plus de - lignes à lire, ou si il a eu une erreur. - </para> - <para> - Les colonnes de types BLOB sont retournées sous la forme d'un - identifiant à utiliser avec <function>ifx_get_blob</function> - à moins que vous n'ayez utilisé la fonction - <function>ifx_textasvarchar</function> ou - <function>ifx_byteasvarchar</function>, et dans ce cas, les BLOBs - seront retournés sous forme de chaîne. - Retourne &false; en cas d'erreur. - </para> - <para> - <parameter>result_id</parameter> est un identifiant valide de résultat, - retourné par <function>ifx_query</function> ou - <function>ifx_prepare</function> (Requêtes SELECT seulement !). - </para> - <para> - <parameter><optional>position</optional></parameter> est un paramètre - optionnel, pour une opération de lecture d'informations sur un pointeur - de type "scroll": "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" ou encore un - nombre. Si vous spécifiez un nombre, la ligne d'index absolu sera - retournée. Ce paramètre est optionnel, et ne fonctionne qu'avec - les pointeurs de type "scroll". - </para> - <para> - <function>ifx_fetch_row</function> retourne une ligne de données d'un - résultat associé à l'identifiant de résultat - <parameter>result_id</parameter>. La ligne est retournée sous la - forme d'un tableau associatif. - </para> - <para> - Les appels ultérieurs à <function>ifx_fetch_row</function> - retourneront la ligne suivante, ou &false; si il n'y a plus de ligne. - </para> - <example> - <title>Exemple avec <function>ifx_fetch_row</function></title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-fetch-row"> + <refnamediv> + <refname>ifx_fetch_row</refname> + <refpurpose> + Retourne une ligne sous la forme d'un tableau énuméré. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_fetch_row</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + <paramdef>mixed + <parameter><optional>position</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_fetch_row</function> retourne un tableau associatif qui + contient la ligne retournée, ou <literal>FALSE</literal> s'il ne reste plus de + lignes à lire, ou s'il a eu une erreur. + </para> + <para> + Les colonnes de types BLOB sont retournées sous la forme d'un + identifiant à utiliser avec <function>ifx_get_blob</function> + à moins que vous n'ayez utilisé la fonction + <function>ifx_textasvarchar</function> ou + <function>ifx_byteasvarchar</function>, et dans ce cas, les BLOBs + seront retournés sous forme de chaîne. + <function>ifx_fetch_row</function> retourne <literal>FALSE</literal> + en cas d'erreur. + </para> + <para> + <parameter>result_id</parameter> est un identifiant valide de résultat, + retourné par <function>ifx_query</function> ou + <function>ifx_prepare</function> (Requêtes SELECT seulement !). + </para> + <para> + <parameter>position</parameter> est un paramètre + optionnel, pour une opération de lecture d'informations sur un pointeur + de type "scroll": "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" ou encore un + nombre. Si vous spécifiez un nombre, la ligne d'index absolu sera + retournée. Ce paramètre est optionnel, et ne fonctionne qu'avec + les pointeurs de type "scroll". + </para> + <para> + <function>ifx_fetch_row</function> retourne une ligne de données d'un + résultat associé à l'identifiant de résultat + <parameter>result_id</parameter>. La ligne est retournée sous la + forme d'un tableau associatif. + </para> + <para> + Les appels ultérieurs à <function>ifx_fetch_row</function> + retourneront la ligne suivante, ou <literal>FALSE</literal> s'il n'y a plus de ligne. + </para> + <example> + <title>Exemple avec <function>ifx_fetch_row</function></title> + <programlisting role="php"> <?php $rid = ifx_prepare ("select * from emp where name like " . $name, $connid, IFX_SCROLL); if (! $rid) { - ... erreur ... +// ... erreur ... } $rowcount = ifx_affected_rows($rid); if ($rowcount > 1000) { - printf ("Trop de lignes dans le résultats. (%d)\n<br>", $rowcount); - die ("Recommencez votre requête. <br>\n"); + printf ("Trop de lignes dans le résultats. (%d)\n<br>", $rowcount); + die ("Recommencez votre requête. <br>\n"); } if (! ifx_do ($rid)) { - ... erreur ... +// ... erreur ... } $row = ifx_fetch_row ($rid, "NEXT"); while (is_array($row)) { @@ -821,91 +826,91 @@ $fieldvalue = $row[$fieldname]; printf ("%s = %s,", $fieldname, $fieldvalue); } - printf("\n<br>"); + printf("\n<br>"); $row = ifx_fetch_row ($rid, "NEXT"); } ifx_free_result ($rid); ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-htmltbl-result"> - <refnamediv> - <refname>ifx_htmltbl_result</refname> - <refpurpose> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-htmltbl-result"> + <refnamediv> + <refname>ifx_htmltbl_result</refname> + <refpurpose> Lit toutes les lignes d'un tableau, et la met sous la forme d'un tableau HTML. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_htmltbl_result</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - <paramdef>string - <parameter><optional>html_table_options</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_htmltbl_result</function> lit toutes les lignes d'un - tableau, et la met sous la forme d'un tableau HTML, ou &false; en cas - d'erreur. - </para> - <para> - Affiche les lignes avec des balises HTML. Le second argument permet - de modifier les options de table. - </para> - <example> - <title>Affichage sous la forme d'une table HTML</title> - <programlisting role="php"> + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_htmltbl_result</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + <paramdef>string + <parameter><optional>html_table_options</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_htmltbl_result</function> lit toutes les lignes d'un + tableau, et la met sous la forme d'un tableau HTML, ou <literal>FALSE</literal> en cas + d'erreur. + </para> + <para> + Affiche les lignes avec des balises HTML. Le second argument permet + de modifier les options de table. + </para> + <example> + <title>Affichage sous la forme d'une table HTML</title> + <programlisting role="php"> <?php $rid = ifx_prepare ("select * from emp where name like " . $name, $connid, IFX_SCROLL); if (! $rid) { - ... erreur ... +// ... erreur ... } $rowcount = ifx_affected_rows ($rid); if ($rowcount > 1000) { - printf ("Trop de lignes dans le résultat : (%d)\n<br>", $rowcount); - die ("Recommencez votre requête <br>\n"); + printf ("Trop de lignes dans le résultat : (%d)\n<br>", $rowcount); + die ("Recommencez votre requête <br>\n"); } if (! ifx_do($rid) { - ... erreur ... +// ... erreur ... } ifx_htmltbl_result ($rid, "border=\"2\""); ifx_free_result($rid); ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-fieldtypes"> - <refnamediv> - <refname>ifx_fieldtypes</refname> - <refpurpose>Liste les champs Informix SQL.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_fieldtypes</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_fieldtypes</function> retourne un tableau associatif avec - les noms des champs comme clés, et les types SQL comme valeur. En - cas d'erreur, retourne &false;. - </para> - <example> - <title>Nom de champs et type SQL.</title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-fieldtypes"> + <refnamediv> + <refname>ifx_fieldtypes</refname> + <refpurpose>Liste les champs Informix SQL.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_fieldtypes</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_fieldtypes</function> retourne un tableau associatif avec + les noms des champs comme clés, et les types SQL comme valeur. En + cas d'erreur, retourne <literal>FALSE</literal>. + </para> + <example> + <title>Nom de champs et type SQL.</title> + <programlisting role="php"> <?php $types = ifx_fieldtypes ($resultid); if (! isset ($types)) { - ... erreur ... +// ... erreur ... } for ($i = 0; $i < count($types); $i++) { $fname = key($types); @@ -913,45 +918,47 @@ next($types); } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-fieldproperties"> - <refnamediv> - <refname>ifx_fieldproperties</refname> - <refpurpose>Liste les propriétés des champs SQL.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_fieldproperties</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_fieldproperties</function> retourne un tableau associatif - avec les nom des champs comme clé, et les données de - propriétés des champs comme valeur. Retourne &false; en - cas d'erreur. - </para> - <para> - Retourne les propriétés Informix SQL pour tous les champs - d'une requête, sous la forme d'un tableau associatif. Les - propriétés sont présentées sous la forme - : "SQLTYPE;longueur ;précision;échelle;ISNULLABLE" avec - SQLTYPE qui représente le type de données Informix tel - que "SQLVCHAR" et ISNULLABLE = "Y" ou "N" (le champs peut contenir &null; - ou pas : Oui ou Non). - </para> - <example> - <title>Exemple avec <function>ifx_fieldproperties</function></title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-fieldproperties"> + <refnamediv> + <refname>ifx_fieldproperties</refname> + <refpurpose>Liste les propriétés des champs SQL.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_fieldproperties</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_fieldproperties</function> retourne un tableau associatif + avec les nom des champs comme clé, et les données de + propriétés des champs comme valeur. + <function>ifx_fieldproperties</function> retourne <literal>FALSE</literal> en + cas d'erreur. + </para> + <para> + <function>ifx_fieldproperties</function> retourne les propriétés + Informix SQL pour tous les champs + d'une requête, sous la forme d'un tableau associatif. Les + propriétés sont présentées sous la forme + : "SQLTYPE;longueur ;précision;échelle;ISNULLABLE" avec + SQLTYPE qui représente le type de données Informix tel + que "SQLVCHAR" et ISNULLABLE = "Y" ou "N" (le champs peut contenir NULL + ou pas : Oui ou Non). + </para> + <example> + <title>Exemple avec <function>ifx_fieldproperties</function></title> + <programlisting role="php"> <?php $properties = ifx_fieldtypes ($resultid); if (! isset($properties)) { - ... erreur ... +// ... erreur ... } for ($i = 0; $i < count($properties); $i++) { $fname = key ($properties); @@ -959,536 +966,552 @@ next ($properties); } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-num-fields"> - <refnamediv> - <refname>ifx_num_fields</refname> - <refpurpose>Retourne le nombre de colonnes dans une requête.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_num_fields</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_num_fields</function> retourne le nombre de colonnes - dans la requête <parameter>result_id</parameter> ou &false; en cas d'erreur. - </para> - <para> - Après avoir préparé ou exécuté une - requête, cette fonction retourne le nombre de colonne dans la - requête. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-num-rows"> - <refnamediv> - <refname>ifx_num_rows</refname> - <refpurpose> - Compte le nombre de ligne déjà lues dans un résultat. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_num_rows</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_num_rows</function> compte le nombre de ligne déjà - lues dans le résultat <parameter>result_id</parameter> après - <function>ifx_query</function> ou <function>ifx_do</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-free-result"> - <refnamediv> - <refname>ifx_free_result</refname> - <refpurpose>Libère les ressources prises par un résultat.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_free_result</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_free_result</function> libère les ressources prises - par le résultat <parameter>result_id</parameter>. - Retourne &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-create-char"> - <refnamediv> - <refname>ifx_create_char</refname> - <refpurpose>Crée un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_create_char</function></funcdef> - <paramdef>string <parameter>param</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_create_char</function> crée un objet char. - <parameter>param</parameter> sera le contenu de l'objet. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-free-char"> - <refnamediv> - <refname>ifx_free_char</refname> - <refpurpose>Supprime un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_free_char</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_free_char</function> supprime l'objet char - <parameter>bid</parameter>. Retourne &false; en cas d'erreur, - et sinon &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-update-char"> - <refnamediv> - <refname>ifx_update_char</refname> - <refpurpose>Modifie le contenu d'un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_update_char</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_update_char</function> modifie le contenu de l'objet - char repéré par son identifiant<parameter>bid</parameter>. - <parameter>content</parameter> est une chaîne avec les nouvelles - données. Retourne. &false; en cas d'erreur, et sinon, - &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-get-char"> - <refnamediv> - <refname>ifx_get_char</refname> - <refpurpose>Retourne le contenu d'un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_get_char</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_get_char</function> retourne le contenu de l'objet - associé à l'identifiant <parameter>bid</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-create-blob"> - <refnamediv> - <refname>ifx_create_blob</refname> - <refpurpose>Crée un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_create_blob</function></funcdef> - <paramdef>int <parameter>type</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - <paramdef>string <parameter>param</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_create_blob</function> crée un objet BLOB. - </para> - <para> - type: 1 = TEXT, 0 = BYTE - </para> - <para> - mode: 0 = L'objet BLOB place le contenu en mémoire ; - 1 = L'objet BLOB place le contenu dans un fichier. - </para> - <para> - param: Si mode = 0: pointeur du contenu, - si mode = 1: pointeur vers un fichier. - </para> - <para> - Retourne &false; en cas d'erreur, et sinon, un identifiant de BLOB. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-copy-blob"> - <refnamediv> - <refname>ifx_copy_blob</refname> - <refpurpose>Duplique un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_copy_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_copy_blob</function> retourne &false; en cas d'erreur, et - sinon, l'identifiant du nouvel objet. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-free-blob"> - <refnamediv> - <refname>ifx_free_blob</refname> - <refpurpose>Supprime un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_free_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_free_blob</function> supprime l'objet BLOB - <parameter>bid</parameter>. Retourne &false; en cas d'erreur, et sinon &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-get-blob"> - <refnamediv> - <refname>ifx_get_blob</refname> - <refpurpose>Retourne le contenu d'un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_get_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_get_blob</function> retourne le contenu de l'objet BLOB - associé à <parameter>bid</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-update-blob"> - <refnamediv> - <refname>ifx_update_blob</refname> - <refpurpose>Modifie le contenu d'un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ifx_update_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_update_blob</function> modifie le contenu de l'objet BLOB - repéré par sont identifiant <parameter>bid</parameter>. - <parameter>content</parameter> est une chaîne contenant les nouvelles - données. Retourne &false; en cas d'erreur, et sinon, &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-blobinfile-mode"> - <refnamediv> - <refname>ifx_blobinfile_mode</refname> - <refpurpose> - Choisi le mode par défaut des objets BLOB pour toutes les - requêtes SELECT. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_blobinfile_mode</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_blobinfile_mode</function> modifie le mode par défaut - des objets BLOB pour toutes les requêtes SELECT. - Mode "0" chargera les BLOB de type Byte en mémoire ; - Mode "1" sauvera les BLOB de type Byte dans un fichier. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-textasvarchar"> - <refnamediv> - <refname>ifx_textasvarchar</refname> - <refpurpose>Choisi le mode par défaut des objets text.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_textasvarchar</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_textasvarchar</function> modifie le mode par défaut - des objets TEXT. Le mode "0" retournera un identifiant de BLOB et le mode "1" - retourne le BLOB sous la forme d'un (gros) varchar. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-byteasvarchar"> - <refnamediv> - <refname>ifx_byteasvarchar</refname> - <refpurpose>Choisi le mode par défaut des objets BYTE.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_byteasvarchar</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_byteasvarchar</function> modifie le mode par défaut - des objets BYTE. Le mode "0" retournera l'identifiant de BLOB, et - le mode "1" retourenra le contenu du text sous la forme d'un VARCHAR. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-nullformat"> - <refnamediv> - <refname>ifx_nullformat</refname> - <refpurpose> - Modifie le mode par défaut de lecture des valeurs. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_nullformat</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_nullformat</function> modifie le mode par défaut de - lecture des valeurs. Le mode "0" retourne "", et le mode "1" retourne "&null;". - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-create-slob"> - <refnamediv> - <refname>ifxus_create_slob</refname> - <refpurpose>Crée un objet SLOB et l'ouvre.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_create_slob</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_create_slob</function> crée un objet SLOB et l'ouvre. - Les modes valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, - 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des - précédents. Vous pouvez aussi utiliser les constantes suivantes : - IFX_LO_RDONLY, IFX_LO_WRONLY etc. Retourne &false; en cas d'erreur, et sinon, - l'identifiant de l'objet SLOB. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-free-slob"> - <refnamediv> - <refname>ifx_free_slob</refname> - <refpurpose>Supprime un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_free_slob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_free_slob</function> supprime un objet SLOB. - <parameter>bid</parameter> est l'identifiant de l'objet SLOB. Retourne - &false; en cas d'erreur, et sinon &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-close-slob"> - <refnamediv> - <refname>ifxus_close_slob</refname> - <refpurpose>Ferme un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_close_slob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_close_slob</function> ferme l'objet SLOB représenté - par son identifiant <parameter>bid</parameter>. Retourne &false; en cas d'erreur, - et sinon, &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-open-slob"> - <refnamediv> - <refname>ifxus_open_slob</refname> - <refpurpose>Ouvre un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_open_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_open_slob</function> ouvre un objet SLOB. - <parameter>bid</parameter> est un identifiant d'objet SLOB. Les modes - valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, - 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des - valeurs précédentes. Retourne &false; en cas d'erreur, et - sinon, l'identifiant du nouvel objet. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-tell-slob"> - <refnamediv> - <refname>ifxus_tell_slob</refname> - <refpurpose>Retourne le fichier courant, ou la position courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_tell_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_tell_slob</function> retourne le fichier courant, ou la - position courante d'un objet SLOB ouvert. <parameter>bid</parameter> est - un identifiant d'objet SLOB. Retourne &false; en cas d'erreur, et sinon, - la position du pointeur de fichier. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-seek-slob"> - <refnamediv> - <refname>ifxus_seek_slob</refname> - <refpurpose>Fixe le fichier courant, ou la position courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_seek_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - <paramdef>long <parameter>offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_seek_blob</function> modifie le fichier courant, ou - la position du pointeur de fichier, pour un objet SLOB ouvert. - <parameter>bid</parameter> est un identifiant d'objet SLOB. - Les modes valides sont : 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END et - <parameter>offset</parameter> est un octet d'offset. - <function>ifxus_seek_blob</function> retourne &false; en cas - d'erreur, et sinon, la position du pointeur de fichier. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-read-slob"> - <refnamediv> - <refname>ifxus_read_slob</refname> - <refpurpose>Lit n bytes d'un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_read_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>long <parameter>nbytes</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_read_slob</function> lit <parameter>nbytes</parameter> octets - de l'objet SLOB <parameter>bid</parameter>. <parameter>bid</parameter> est un - identifiant d'objet SLOB existant, et <parameter>nbytes</parameter> est le - nombre d'octets à lire. Retourne &false; en cas d'erreur, et sinon, - une chaîne de caractères. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-write-slob"> - <refnamediv> - <refname>ifxus_write_slob</refname> - <refpurpose>Ecrit une chaîne dans un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_write_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_write_slob</function> écrit une chaîne dans un - objet SLOB. <parameter>bid</parameter> est un identifiant d'objet SLOB - et <parameter>content</parameter> sont les données à - écrire. Retourne &false; en cas d'erreur, et sinon, le nombre - d'octets écrits. - </para> - </refsect1> - </refentry> - </reference> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-num-fields"> + <refnamediv> + <refname>ifx_num_fields</refname> + <refpurpose>Retourne le nombre de colonnes dans une requête.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_num_fields</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_num_fields</function> retourne le nombre de colonnes + dans la requête <parameter>result_id</parameter> ou <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Après avoir préparé ou exécuté une + requête, cette fonction retourne le nombre de colonne dans la + requête. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-num-rows"> + <refnamediv> + <refname>ifx_num_rows</refname> + <refpurpose> + Compte le nombre de ligne déjà lues dans un résultat. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_num_rows</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_num_rows</function> compte le nombre de ligne déjà + lues dans le résultat <parameter>result_id</parameter> après + <function>ifx_query</function> ou <function>ifx_do</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-free-result"> + <refnamediv> + <refname>ifx_free_result</refname> + <refpurpose>Libère les ressources prises par un résultat.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_free_result</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_free_result</function> libère les ressources prises + par le résultat <parameter>result_id</parameter>. + <function>ifx_free_result</function> retourne <literal>FALSE</literal> + en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-create-char"> + <refnamediv> + <refname>ifx_create_char</refname> + <refpurpose>Crée un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_create_char</function></funcdef> + <paramdef>string <parameter>param</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_create_char</function> crée un objet char. + <parameter>param</parameter> sera le contenu de l'objet. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-free-char"> + <refnamediv> + <refname>ifx_free_char</refname> + <refpurpose>Supprime un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_free_char</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_free_char</function> supprime l'objet char + <parameter>bid</parameter>. <function>ifx_free_char</function> + retourne <literal>FALSE</literal> en cas d'erreur, + et sinon <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-update-char"> + <refnamediv> + <refname>ifx_update_char</refname> + <refpurpose>Modifie le contenu d'un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_update_char</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + <paramdef>string <parameter>content</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_update_char</function> modifie le contenu de l'objet + char repéré par son identifiant<parameter>bid</parameter>. + <parameter>content</parameter> est une chaîne avec les nouvelles + données. <function>ifx_update_char</function> retourne + <literal>FALSE</literal> en cas d'erreur, et sinon, + <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-get-char"> + <refnamediv> + <refname>ifx_get_char</refname> + <refpurpose>Retourne le contenu d'un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_get_char</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_get_char</function> retourne le contenu de l'objet + associé à l'identifiant <parameter>bid</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-create-blob"> + <refnamediv> + <refname>ifx_create_blob</refname> + <refpurpose>Crée un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_create_blob</function></funcdef> + <paramdef>int <parameter>type</parameter></paramdef> + <paramdef>int <parameter>mode</parameter></paramdef> + <paramdef>string <parameter>param</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_create_blob</function> crée un objet BLOB. + </para> + <para> + type: 1 = TEXT, 0 = BYTE + </para> + <para> + mode: 0 = L'objet BLOB place le contenu en mémoire ; + 1 = L'objet BLOB place le contenu dans un fichier. + </para> + <para> + param: Si mode = 0: pointeur du contenu, + si mode = 1: pointeur vers un fichier. + </para> + <para> + <function>ifx_create_blob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, un identifiant de BLOB. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-copy-blob"> + <refnamediv> + <refname>ifx_copy_blob</refname> + <refpurpose>Duplique un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_copy_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_copy_blob</function> retourne <literal>FALSE</literal> en cas d'erreur, et + sinon, l'identifiant du nouvel objet. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-free-blob"> + <refnamediv> + <refname>ifx_free_blob</refname> + <refpurpose>Supprime un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_free_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_free_blob</function> supprime l'objet BLOB + <parameter>bid</parameter>. + <function>ifx_free_blob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-get-blob"> + <refnamediv> + <refname>ifx_get_blob</refname> + <refpurpose>Retourne le contenu d'un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_get_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_get_blob</function> retourne le contenu de l'objet BLOB + associé à <parameter>bid</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-update-blob"> + <refnamediv> + <refname>ifx_update_blob</refname> + <refpurpose>Modifie le contenu d'un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>ifx_update_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + <paramdef>string <parameter>content</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_update_blob</function> modifie le contenu de l'objet BLOB + repéré par sont identifiant <parameter>bid</parameter>. + <parameter>content</parameter> est une chaîne contenant les nouvelles + données. <function>ifx_update_blob</function> retourne + <literal>FALSE</literal> en cas d'erreur, et sinon, <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-blobinfile-mode"> + <refnamediv> + <refname>ifx_blobinfile_mode</refname> + <refpurpose> + Choisit le mode par défaut des objets BLOB pour toutes les + requêtes SELECT. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_blobinfile_mode</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_blobinfile_mode</function> modifie le mode par défaut + des objets BLOB pour toutes les requêtes SELECT. + Mode "0" chargera les BLOB de type Byte en mémoire ; + Mode "1" sauvera les BLOB de type Byte dans un fichier. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-textasvarchar"> + <refnamediv> + <refname>ifx_textasvarchar</refname> + <refpurpose>Choisit le mode par défaut des objets text.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_textasvarchar</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_textasvarchar</function> modifie le mode par défaut + des objets TEXT. Le mode "0" retournera un identifiant de BLOB et le mode "1" + retourne le BLOB sous la forme d'un (gros) varchar. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-byteasvarchar"> + <refnamediv> + <refname>ifx_byteasvarchar</refname> + <refpurpose>Choisit le mode par défaut des objets BYTE.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_byteasvarchar</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_byteasvarchar</function> modifie le mode par défaut + des objets BYTE. Le mode "0" retournera l'identifiant de BLOB, et + le mode "1" retourenra le contenu du TEXT sous la forme d'un VARCHAR. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-nullformat"> + <refnamediv> + <refname>ifx_nullformat</refname> + <refpurpose> + Modifie le mode par défaut de lecture des valeurs. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_nullformat</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_nullformat</function> modifie le mode par défaut de + lecture des valeurs. Le mode "0" retourne "", et le mode "1" retourne "NULL". + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-create-slob"> + <refnamediv> + <refname>ifxus_create_slob</refname> + <refpurpose>Crée un objet SLOB et l'ouvre.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_create_slob</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_create_slob</function> crée un objet SLOB et l'ouvre. + Les modes valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, + 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des + précédents. Vous pouvez aussi utiliser les constantes suivantes : + IFX_LO_RDONLY, IFX_LO_WRONLY etc. <function>ifxus_create_slob</function> + retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + l'identifiant de l'objet SLOB. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-free-slob"> + <refnamediv> + <refname>ifx_free_slob</refname> + <refpurpose>Supprime un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_free_slob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_free_slob</function> supprime un objet SLOB. + <parameter>bid</parameter> est l'identifiant de l'objet SLOB. + <function>ifxus_free_slob</function> retourne + <literal>FALSE</literal> en cas d'erreur, et sinon <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-close-slob"> + <refnamediv> + <refname>ifxus_close_slob</refname> + <refpurpose>Ferme un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_close_slob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_close_slob</function> ferme l'objet SLOB représenté + par son identifiant <parameter>bid</parameter>. + <function>ifxus_close_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-open-slob"> + <refnamediv> + <refname>ifxus_open_slob</refname> + <refpurpose>Ouvre un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_open_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_open_slob</function> ouvre un objet SLOB. + <parameter>bid</parameter> est un identifiant d'objet SLOB. Les modes + valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, + 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des + valeurs précédentes. + <function>ifxus_open_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, l'identifiant du nouvel objet. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-tell-slob"> + <refnamediv> + <refname>ifxus_tell_slob</refname> + <refpurpose>Retourne le fichier courant, ou la position courante.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_tell_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_tell_slob</function> retourne le fichier courant, ou la + position courante d'un objet SLOB ouvert. <parameter>bid</parameter> est + un identifiant d'objet SLOB. + <function>ifxus_tell_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, + la position du pointeur de fichier. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-seek-slob"> + <refnamediv> + <refname>ifxus_seek_slob</refname> + <refpurpose>Fixe le fichier courant, ou la position courante.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_seek_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>int <parameter>mode</parameter></paramdef> + <paramdef>long <parameter>offset</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_seek_slob</function> modifie le fichier courant, ou + la position du pointeur de fichier, pour un objet SLOB ouvert. + <parameter>bid</parameter> est un identifiant d'objet SLOB. + Les modes valides sont : 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END et + <parameter>offset</parameter> est un octet d'offset. + <function>ifxus_seek_slob</function> retourne <literal>FALSE</literal> en cas + d'erreur, et sinon, la position du pointeur de fichier. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-read-slob"> + <refnamediv> + <refname>ifxus_read_slob</refname> + <refpurpose>Lit n bytes d'un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_read_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>long <parameter>nbytes</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_read_slob</function> lit <parameter>nbytes</parameter> octets + de l'objet SLOB <parameter>bid</parameter>. <parameter>bid</parameter> est un + identifiant d'objet SLOB existant, et <parameter>nbytes</parameter> est le + nombre d'octets à lire. + <function>ifxus_read_slob</function> retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + une chaîne de caractères. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-write-slob"> + <refnamediv> + <refname>ifxus_write_slob</refname> + <refpurpose>Ecrit une chaîne dans un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_write_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>string <parameter>content</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_write_slob</function> écrit une chaîne dans un + objet SLOB. <parameter>bid</parameter> est un identifiant d'objet SLOB + et <parameter>content</parameter> sont les données à + écrire. + <function>ifxus_write_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, le nombre + d'octets écrits. + </para> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml
Index: phpdoc/fr/functions/ifx.xml diff -u phpdoc/fr/functions/ifx.xml:1.8 phpdoc/fr/functions/ifx.xml:1.9 --- phpdoc/fr/functions/ifx.xml:1.8 Sat Jul 7 18:22:11 2001 +++ phpdoc/fr/functions/ifx.xml Thu Jul 12 08:19:14 2001 @@ -1,678 +1,682 @@ - <reference id="ref.ifx"> - <title>Informix</title> - <titleabbrev>Informix</titleabbrev> - <partintro> - <para> - Les pilotes d'accès à Informix pour Online (ODS) 7.x, SE 7.x, - Universal Server (IUS) 9.x et IDS 2000 sont implémentés dans - "functions/ifx.ec" et "functions/php3_ifx.h". Le support ODS 7.x est - plutôt complet, et accepte les colonnes de type BYTE et TEXT. - Le support IUS 9.x est partiellment fini, de nouveau types sont disponibles, - mais SLOB et CLOB sont toujours en développement. - </para> - <note> - <title>Notes de configuration</title> - <para> - Vous avez besoin d'une version de ESQL/C pour compiler le pilote PHP d'Informix. - Les versions ESQL/C 7.2x sont utilisables. ESQL/C fait partie du SDK - Informix Client. - </para> - <para> - Avant que vous ne lanciez le script "configure", assurez vous que la variable - d'environnement "INFORMIXDIR" a été correctement - paramétrée, et que $INFORMIXDIR/bin est dans votre PATH. - </para> - <para> - Le script de configuration va détecter automatiquement les librairies - disponibles, et inclure les dossiers si vous lancer le script avec l'option - "configure --with_informix=yes". Vous pouvez ignorer cette détection en spécifiant - "IFX_LIBDIR", "IFX_LIBS" et "IFX_INCDIR" dans votre environnement. Le script de - configuration va aussi essayer de détecter la version de votre serveur Informix. - Il modifiera alors la condition de compilation "HAVE_IFX_IUS" si votre serveur - Informix est d'une version plus récente que 9.00. - </para> - </note> - <note> - <title>Notes d'exécutions</title> - <para> - Assurez vous que les variables d'environnement INFORMIXDIR et - INFORMIXSERVER sont accessibles au pilote PHP, et que le dossier bin - INFORMIX est aussi dans la variable PATH. Vous pouvez le voir en lancant un - script qui contient un appel à <function>phpinfo</function> avant - que vous ne commenciez à tester. La fonction - <function>phpinfo</function> affiche une liste des variables - d'environnement. Cela fonctionne aussi bien en mode - mod_php, qu'en mode CGI. Il vous faudra fixer les valeurs dans le script - de démarrage d'Apache. - </para> - <para> - Les "Informix shared libraries" doivent aussi être accessibles au - chargement (vérifiez LD_LINBRARY_PATH ou ld.so.conf/ldconfig). - </para> - </note> - <note> - <title>Notes sur l'utilisation des BLOBs (TEXT et BYTE)</title> - <para> - Les objets de type BLOBs sont normalement gérés par des - identifiants de BLOB. Les requêtes de sélection retournent - un identifiant de BLOB pour chaque colonne de type BYTE et TEXT. Vous - pouvez en lire le contenu, avec des commandes de types - "string_var = ifx_get_blob($BLOB_id);" ; si vous souhaitez ramener le BLOB en - mémoire (avec: "ifx_blobinfile_mode(0);"). Si vous préférez - recevoir le contenu d'une colonne BLOB dans un fichier, utilisez - <function>ifx_blobinfile_mode</function>, et ifx_get_blob($BLOB_id) - vous retournera le nom du fichier. Utilisez les fonctions habituelles - d'accès aux fichiers pour lire son contenu. - </para> - <para> - Pour les requêtes INSERT/UPDATE, vous devez créer les identifiants - de BLOB par vous même, avec la fonction <function>ifx_create_blob</function>. - Puis, vous placez l'identifiant de BLOB dans un tableau, et remplacez - la colonne par un point d'interrogation. Pour les UPDATE/INSERT, vous - êtes responsable du contenu du BLOB, avec la fonction - <function>ifx_update_blob</function>. - </para> - <para> - Le comportement par défaut des colonnes de type BLOB peut être - modifié en affectant de nouvelles valeurs aux variables de configuration - (même à la volée) : - </para> - <para> - Variable de configuration : ifx.textasvarchar - </para> - <para> - Variable de configuration : ifx.byteasvarchar - </para> - <para> - Fonctions à utiliser lors de l'exécution : - </para> - <para> - ifx_textasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type - TEXT, dans les requêtes SELECT - </para> - <para> - ifx_byteasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type - BYTE, dans les requêtes SELECT - </para> - <para> - ifx_textasvarchar(1) : Retourne les colonnes de type TEXT sous la forme de - VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. - </para> - <para> - ifx_byteasvarchar(1) : Retourne les colonnes de type BYTE sous la forme de - VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. - </para> - <para> - Variable de configuration : ifx.BLOBinfile - </para> - <para> - Fonctions à utiliser lors de l'exécution : - </para> - <para> - ifx_blobinfile_mode(0) : Retourne les colonnes de type BYTE en mémoire, - l'identifiant de BLOB vous donnera accès au contenu. - </para> - <para> - ifx_blobinfile_mode(1) : Retourne les colonnes de type BYTE dans un fichier, - l'identifiant de BLOB vous donnera accès au nom de ce fichier. - </para> - <para> - En affectant la valeur de 1 à ifx_text/byteasvarchar, vous pouvez - utiliser les colonnes de type TEXT et BYTE dans les requêtes SELECT - comme des champs VARCHAR (mais plus long). Etant donné la gestion - des chaînes par PHP, cette technique conserve les données - binaires. Les données retournées peuvent contenir n'importe - quoi, et vous êtes responsable de la bonne manipulation de ces valeurs. - </para> - <para> - En affectant la valeur de 1 à <function>ifx_blobinfile_mode</function>, - utilisez le nom de fichier retourné par <function>ifx_get_blob</function> - pour accéder au contenu du BLOB. Notez bien que vous êtes tenu - responsable de l'effacement des fichiers temporaires, créés par - Informix. Chaque nouvelle ligne lue sur le serveur va créer un nouveau - fichier temporaire, pour chaque colonne de type BYTE. - </para> - <para> - L'emplacement des fichiers temporaire peut être modifié, grâce - à la variable "blobdir", (par défaut, ".", c'est à dire, - le dossier courant). Une valeur telle que BLOBdir="tmpBLOB" simplifiera le - nettoyage des fichiers temporaires, accidentellement oubliés (les noms - commencent tous par "blb"). - </para> - </note> - <note> - <title>Suppression automatique des espaces (SQLCHAR et SQLNCHAR)</title> - <para> - Elle peut être mise en place avec la variable de configuration. - </para> - <para> - ifx.charasvarchar : avec la valeur 1, les espaces de fin de champs seront - automatiquement supprimés. - </para> - </note> - <note> - <title>&null; values</title> - <para> - Lorsque la variable de configuration ifx.nullformat (ou que la fonction - <function>ifx_nullformat</function>) est à un, les colonnes contenant - la valeur &null; retourneront la chaîne "&null;", et sinon, retourneront - une chaîne vide. Cela vous permet de faire la différence entre - les colonnes vides et celle qui contiennent la valeur &null;. - </para> - </note> - </partintro> - <refentry id="function.ifx-connect"> - <refnamediv> - <refname>ifx_connect</refname> - <refpurpose>Ouvre une connexion à un serveur Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_connect</function></funcdef> - <paramdef>string <parameter><optional>database</optional> - </parameter></paramdef> - <paramdef>string <parameter><optional>userid</optional> - </parameter></paramdef> - <paramdef>string <parameter><optional>password</optional> - </parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_connect</function> retourne un identifiant de connexion, en - cas de succès, et &false; sinon. - </para> - <para> - <function>ifx_connect</function> établit une connexion à un - serveur Informix. Tous les arguments sont optionnels, et, si ils viennent - à manquer, les valeurs par défaut seront prises dans le - fichier <link linkend="configuration.file">de configuration </link>. - (ifx.default_host pour l'hôte par défaut) (Les librairies - Informix utiliseront la variable d'environnement <envar>$INFORMIXSERVER</envar> - si ifx.default_host n'est pas définie). ifx.default_user pour - l'utilisateur, et ifx.default_password comme mot de passe (si aucun n'a - été défini). - </para> - <para> - Si un deuxième appel à <function>ifx_connect</function> est - fait avec les mêmes arguments, l'identifiant de connexion - déjà ouvert sera retourné. - </para> - <para> - Le lien avec le serveur sera fermé dès que le script se - termine, ce qui fait qu'il n'est pas nécessaire de terminer - les connexions avec <function>ifx_close</function>. - </para> - <para> - Voir aussi<function>ifx_pconnect</function> et <function>ifx_close</function>. - <example> - <title>Connection à un serveur Informix</title> - <programlisting role="php"> +<reference id="ref.ifx"> + <title>Informix</title> + <titleabbrev>Informix</titleabbrev> + <partintro> + <para> + Les pilotes d'accès à Informix pour Online (ODS) 7.x, SE 7.x, + Universal Server (IUS) 9.x et IDS 2000 sont implémentés dans + "functions/ifx.ec" et "functions/php3_ifx.h". Le support ODS 7.x est + plutôt complet, et accepte les colonnes de type BYTE et TEXT. + Le support IUS 9.x est partiellement fini, de nouveaux types sont disponibles, + mais SLOB et CLOB sont toujours en cours de développement. + </para> + <note> + <title>Notes de configuration</title> + <para> + Vous avez besoin d'une version de ESQL/C pour compiler le pilote PHP d'Informix. + Les versions ESQL/C 7.2x sont utilisables. ESQL/C fait partie du SDK + Informix Client. + </para> + <para> + Avant que vous ne lanciez le script "configure", assurez-vous que la variable + d'environnement "INFORMIXDIR" a été correctement + paramétrée, et que $INFORMIXDIR/bin est dans votre PATH. + </para> + <para> + Le script de configuration va détecter automatiquement les librairies + disponibles, et inclure les dossiers si vous lancer le script avec l'option + <link linkend="install.configure.with-informix"><option role="configure">--with-informix=yes</option></link>. + Vous pouvez ignorer cette détection + en spécifiant "IFX_LIBDIR", "IFX_LIBS" et "IFX_INCDIR" dans votre + environnement. Le script de + configuration va aussi essayer de détecter la version de votre serveur Informix. + Il modifiera alors la condition de compilation "HAVE_IFX_IUS" si votre serveur + Informix est d'une version plus récente que 9.00. + </para> + </note> + <note> + <title>Notes d'exécutions</title> + <para> + Assurez-vous que les variables d'environnement INFORMIXDIR et + INFORMIXSERVER sont accessibles au pilote PHP, et que le dossier bin + INFORMIX est aussi dans la variable PATH. Vous pouvez le voir en lançant un + script qui contient un appel à <function>phpinfo</function> avant + que vous ne commenciez à tester. La fonction + <function>phpinfo</function> affiche une liste des variables + d'environnement. Cela fonctionne aussi bien en mode + mod_php, qu'en mode CGI. Il vous faudra fixer les valeurs dans le script + de démarrage d'Apache. + </para> + <para> + Les "Informix shared libraries" doivent aussi être accessibles au + chargement (vérifiez LD_LINBRARY_PATH ou ld.so.conf/ldconfig). + </para> + </note> + <note> + <title>Notes sur l'utilisation des BLOBs (TEXT et BYTE)</title> + <para> + Les objets de type BLOBs sont normalement gérés par des + identifiants de BLOB. Les requêtes de sélection retournent + un identifiant de BLOB pour chaque colonne de type BYTE et TEXT. Vous + pouvez en lire le contenu, avec des commandes de types + "string_var = ifx_get_blob($BLOB_id);" ; si vous souhaitez ramener le BLOB en + mémoire (avec: "ifx_blobinfile_mode(0);"). Si vous préférez + recevoir le contenu d'une colonne BLOB dans un fichier, utilisez + <function>ifx_blobinfile_mode</function>, et ifx_get_blob($BLOB_id) + vous retournera le nom du fichier. Utilisez les fonctions habituelles + d'accès aux fichiers pour lire son contenu. + </para> + <para> + Pour les requêtes INSERT/UPDATE, vous devez créer les identifiants + de BLOB par vous même, avec la fonction <function>ifx_create_blob</function>. + Puis, vous placez l'identifiant de BLOB dans un tableau, et remplacez + la colonne par un point d'interrogation. Pour les UPDATE/INSERT, vous + êtes responsable du contenu du BLOB, avec la fonction + <function>ifx_update_blob</function>. + </para> + <para> + Le comportement par défaut des colonnes de type BLOB peut être + modifié en affectant de nouvelles valeurs aux variables de configuration + (même à la volée) : + </para> + <para> + Variable de configuration : ifx.textasvarchar + </para> + <para> + Variable de configuration : ifx.byteasvarchar + </para> + <para> + Fonctions à utiliser lors de l'exécution : + </para> + <para> + ifx_textasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type + TEXT, dans les requêtes SELECT + </para> + <para> + ifx_byteasvarchar(0) : Utilise l'identifiant de BLOB avec des colonnes de type + BYTE, dans les requêtes SELECT + </para> + <para> + ifx_textasvarchar(1) : Retourne les colonnes de type TEXT sous la forme de + VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. + </para> + <para> + ifx_byteasvarchar(1) : Retourne les colonnes de type BYTE sous la forme de + VARCHAR, sans utiliser les identifiants de BLOB dans les requêtes SELECT. + </para> + <para> + Variable de configuration : ifx.BLOBinfile + </para> + <para> + Fonctions à utiliser lors de l'exécution : + </para> + <para> + ifx_blobinfile_mode(0) : Retourne les colonnes de type BYTE en mémoire, + l'identifiant de BLOB vous donnera accès au contenu. + </para> + <para> + ifx_blobinfile_mode(1) : Retourne les colonnes de type BYTE dans un fichier, + l'identifiant de BLOB vous donnera accès au nom de ce fichier. + </para> + <para> + En affectant la valeur de 1 à ifx_text/byteasvarchar, vous pouvez + utiliser les colonnes de type TEXT et BYTE dans les requêtes SELECT + comme des champs VARCHAR (mais plus long). Etant donné la gestion + des chaînes par PHP, cette technique conserve les données + binaires. Les données retournées peuvent contenir n'importe + quoi, et vous êtes responsable de la bonne manipulation de ces valeurs. + </para> + <para> + En affectant la valeur de 1 à <function>ifx_blobinfile_mode</function>, + utilisez le nom de fichier retourné par <function>ifx_get_blob</function> + pour accéder au contenu du BLOB. Notez bien que vous êtes tenu + responsable de l'effacement des fichiers temporaires, créés par + Informix. Chaque nouvelle ligne lue sur le serveur va créer un nouveau + fichier temporaire, pour chaque colonne de type BYTE. + </para> + <para> + L'emplacement des fichiers temporaire peut être modifié, grâce + à la variable "blobdir", (par défaut, ".", c'est-à-dire, + le dossier courant). Une valeur telle que BLOBdir="tmpBLOB" simplifiera le + nettoyage des fichiers temporaires, accidentellement oubliés (les noms + commencent tous par "blb"). + </para> + </note> + <note> + <title>Suppression automatique des espaces (SQLCHAR et SQLNCHAR)</title> + <para> + Elle peut être mise en place avec la variable de configuration. + </para> + <para> + ifx.charasvarchar : avec la valeur 1, les espaces de fin de champs seront + automatiquement supprimés. + </para> + </note> + <note> + <title>NULL values</title> + <para> + Lorsque la variable de configuration ifx.nullformat (ou que la fonction + <function>ifx_nullformat</function>) est à un, les colonnes contenant + la valeur NULL retourneront la chaîne "NULL", et sinon, retourneront + une chaîne vide. Cela vous permet de faire la différence entre + les colonnes vides et celles qui contiennent la valeur NULL. + </para> + </note> + </partintro> + <refentry id="function.ifx-connect"> + <refnamediv> + <refname>ifx_connect</refname> + <refpurpose>Ouvre une connexion à un serveur Informix.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_connect</function></funcdef> + <paramdef>string <parameter><optional>database</optional> + </parameter></paramdef> + <paramdef>string <parameter><optional>userid</optional> + </parameter></paramdef> + <paramdef>string <parameter><optional>password</optional> + </parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_connect</function> retourne un identifiant de connexion, en + cas de succès, et <literal>FALSE</literal> sinon. + </para> + <para> + <function>ifx_connect</function> établit une connexion à un + serveur Informix. Tous les arguments sont optionnels, et, s'ils viennent + à manquer, les valeurs par défaut seront prises dans le + fichier <link linkend="configuration.file">de configuration </link>. + (ifx.default_host pour l'hôte par défaut) (Les librairies + Informix utiliseront la variable d'environnement <envar>$INFORMIXSERVER</envar> + si ifx.default_host n'est pas définie). ifx.default_user pour + l'utilisateur, et ifx.default_password comme mot de passe (si aucun n'a + été défini). + </para> + <para> + Si un deuxième appel à <function>ifx_connect</function> est + fait avec les mêmes arguments, l'identifiant de connexion + déjà ouvert sera retourné. + </para> + <para> + Le lien avec le serveur sera fermé dès que le script se + termine, ce qui fait qu'il n'est pas nécessaire de terminer + les connexions avec <function>ifx_close</function>. + </para> + <para> + Voir aussi<function>ifx_pconnect</function> et <function>ifx_close</function>. + <example> + <title>Connection à un serveur Informix</title> + <programlisting role="php"> <?php -$conn_id = ifx_pconnect ("mydb@ol_srv1", "imyself", "mypassword"); +$conn_id = ifx_pconnect ("mydb@ol_srv1", "imyself", "mypassword"); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-pconnect"> - <refnamediv> - <refname>ifx_pconnect</refname> - <refpurpose> - Ouvre une connexion persistante à un serveur Informix. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_pconnect</function></funcdef> - <paramdef>string - <parameter><optional>database</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>userid</optional></parameter> - </paramdef> - <paramdef>string - <parameter><optional>password</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_pconnect</function> retourne un identifiant positif de - connexion Informix, ou &false;, en cas d'erreur. - </para> - <para> - <function>ifx_pconnect</function> se comporte de manière très - similaire à <function>ifx_connect</function> avec deux - différences importantes : - </para> - <para> - <function>ifx_pconnect</function> se comporte exactement comme - <function>ifx_connect</function> lorsque PHP n'est pas un module Apache. - Lors de la connexion, la fonction va chercher une connexion déjà - ouverte avec le même hôte, le même nom d'utilisateur, et le - même mot de passe. Si elle en trouve une, elle retournera un - identifiant de cette connexion, au lieu d'en ouvrir une nouvelle. - </para> - <para> - Deuxièmement, la connexion au serveur SQL ne sera pas automatiquement - refermée à la fin de l'exécution du script. Au contraire, - le lien va rester ouvert (<function>ifx_close</function> ne fermera pas les - connexions établies avec <function>ifx_pconnect</function>). - </para> - <para> - Ainsi, ce type de lien est appelé 'persistant'. - </para> - <para> - Voir aussi: <function>ifx_connect</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-close"> - <refnamediv> - <refname>ifx_close</refname> - <refpurpose>Ferme une connexion à un serveur Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_close</function></funcdef> - <paramdef>int - <parameter><optional>link_identifier</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_close</function> retourne toujours &true;. - </para> - <para> - <function>ifx_close</function> ferme le lien au serveur de données - Informix associé à l'identifant de connexion - <parameter><optional>link_identifier</optional></parameter>. - Si l'identifiant du lien n'est pas spécifié, la - dernière connexion est utilisée. - </para> - <para> - Notez qu'il n'est généralement pas besoin d'appeler - cette fonction, car les connexions non persistantes seront - automatiquement fermées. - </para> - <para> - <function>ifx_close</function> ne peut pas fermer une connexion ouverte avec - <function>ifx_pconnect</function>. - </para> - <para> - Voir aussi: <function>ifx_connect</function> et <function>ifx_pconnect</function>. - <example> - <title>Fermer une connexion Informix</title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-pconnect"> + <refnamediv> + <refname>ifx_pconnect</refname> + <refpurpose> + Ouvre une connexion persistante à un serveur Informix. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_pconnect</function></funcdef> + <paramdef>string + <parameter><optional>database</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>userid</optional></parameter> + </paramdef> + <paramdef>string + <parameter><optional>password</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_pconnect</function> retourne un identifiant positif de + connexion Informix, ou <literal>FALSE</literal>, en cas d'erreur. + </para> + <para> + <function>ifx_pconnect</function> se comporte de manière très + similaire à <function>ifx_connect</function> avec deux + différences importantes : + </para> + <para> + <function>ifx_pconnect</function> se comporte exactement comme + <function>ifx_connect</function> lorsque PHP n'est pas un module Apache. + Lors de la connexion, la fonction va chercher une connexion déjà + ouverte avec le même hôte, le même nom d'utilisateur, et le + même mot de passe. Si elle en trouve une, elle retournera un + identifiant de cette connexion, au lieu d'en ouvrir une nouvelle. + </para> + <para> + Deuxièmement, la connexion au serveur SQL ne sera pas automatiquement + refermée à la fin de l'exécution du script. Au contraire, + le lien va rester ouvert (<function>ifx_close</function> ne fermera pas les + connexions établies avec <function>ifx_pconnect</function>). + </para> + <para> + Ainsi, ce type de lien est appelé 'persistant'. + </para> + <para> + Voir aussi: <function>ifx_connect</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-close"> + <refnamediv> + <refname>ifx_close</refname> + <refpurpose>Ferme une connexion à un serveur Informix.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_close</function></funcdef> + <paramdef>int + <parameter><optional>link_identifier</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_close</function> retourne toujours <literal>TRUE</literal>. + </para> + <para> + <function>ifx_close</function> ferme le lien au serveur de données + Informix associé à l'identifant de connexion + <parameter>link_identifier</parameter>. + Si l'identifiant du lien n'est pas spécifié, la + dernière connexion est utilisée. + </para> + <para> + Notez qu'il n'est généralement pas besoin d'appeler + cette fonction, car les connexions non persistantes seront + automatiquement fermées. + </para> + <para> + <function>ifx_close</function> ne peut pas fermer une connexion ouverte avec + <function>ifx_pconnect</function>. + </para> + <para> + Voir aussi: <function>ifx_connect</function> et <function>ifx_pconnect</function>. + <example> + <title>Fermer une connexion Informix</title> + <programlisting role="php"> <?php -$conn_id = ifx_connect ("mydb@ol_srv", "coucou", "cestmoi"); +$conn_id = ifx_connect ("mydb@ol_srv", "coucou", "cestmoi"); //... quelques requêtes diverses et variées ... ifx_close($conn_id); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-query"> - <refnamediv> - <refname>ifx_query</refname> - <refpurpose>Envoie une requête Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_query</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int - <parameter><optional>link_identifier</optional></parameter> - </paramdef> - <paramdef>int - <parameter><optional>cursor_type</optional></parameter> - </paramdef> - <paramdef>mixed - <parameter> - <optional>blobidarray</optional> - </parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_query</function> retourne un identifiant positif de - résultat Informix en cas de succès, et &false; en cas d'erreur. - </para> - <para> - L'entier de type "identifiant de résultat" est utilisé par4 - d'autres fonctions pour lire les résultats. Pour un exemple, - reportez vous à <function>ifx_affected_rows</function> pour - connaître le nombre de lignes affectées. - </para> - <para> - <function>ifx_query</function> envoie une requête au serveur - actif courant, associé à l'identifiant de connexion - <parameter><optional>link_identifier</optional></parameter>. Si - <parameter><optional>link_identifier</optional></parameter> n'est pas fourni, - la dernière connexion ouverte sera utilisée. Si aucune connexion - n'a été ouverte, <function>ifx_query</function> va essayer d'en - créer une, en appelant <function>ifx_connect</function>. - </para> - <para> - Exécute la requête <parameter>query</parameter> sur la connexion - <parameter>conn_id</parameter>. Pour les requêtes de type SELECT, un - pointeur est déclaré, et ouvert. L'option - <parameter>cursor_type</parameter> permet de choisir le type de - pointeur, "scroll" et/ou "hold". <parameter>cursor_type</parameter> accepte - les deux valeurs séparées, et leur combinaison. Les - requêtes d'autre type sont à exécution immédiate. - </para> - <para> - Le nombre de lignes affectées (estimé ou exact) est - enregistré pour être lu avec <function>ifx_affected_rows</function>. - </para> - <para> - Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de - modification, vous pouvez passer un paramètre - <parameter>BLOBidarray</parameter> qui contiendra les identifiants - des BLOB à modifier, et vous devrez remplacer cette colonne par - un point d'interrogation (?) dans la requête. - </para> - <para> - Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez - aussi utiliser les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser - les colonnes TEXT ( ou BYTE ) comme des colonnes de type VARCHAR (mais - plus long, tout de même), et vous n'aurez pas besoin de l'identifiant - de BLOB. - </para> - <para> - Avec les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function> (valeurs par défaut), les - requêtes SELECT retourneront des identifiants de BLOB. Cet identifiant - peut être une chaîne ou un fichier, suivant la configuration - (voir plus loin). - </para> - <para> - Voir aussi : <function>ifx_connect</function>. - <example> - <title> - Afficher toutes les lignes de la table "ordres" sous la forme html - </title> - <programlisting role="php"> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-query"> + <refnamediv> + <refname>ifx_query</refname> + <refpurpose>Envoie une requête Informix.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_query</function></funcdef> + <paramdef>string <parameter>query</parameter></paramdef> + <paramdef>int + <parameter><optional>link_identifier</optional></parameter> + </paramdef> + <paramdef>int + <parameter><optional>cursor_type</optional></parameter> + </paramdef> + <paramdef>mixed + <parameter> + <optional>blobidarray</optional> + </parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_query</function> retourne un identifiant positif de + résultat Informix en cas de succès, et <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + L'entier de type "identifiant de résultat" est utilisé par4 + d'autres fonctions pour lire les résultats. Pour un exemple, + reportez-vous à <function>ifx_affected_rows</function> pour + connaître le nombre de lignes affectées. + </para> + <para> + <function>ifx_query</function> envoie une requête au serveur + actif courant, associé à l'identifiant de connexion + <parameter>link_identifier</parameter>. Si + <parameter>link_identifier</parameter> n'est pas fourni, + la dernière connexion ouverte sera utilisée. Si aucune connexion + n'a été ouverte, <function>ifx_query</function> va essayer d'en + créer une, en appelant <function>ifx_connect</function>. + </para> + <para> + Exécute la requête <parameter>query</parameter> sur la connexion + <parameter>conn_id</parameter>. Pour les requêtes de type SELECT, un + pointeur est déclaré, et ouvert. L'option + <parameter>cursor_type</parameter> permet de choisir le type de + pointeur, "scroll" et/ou "hold". <parameter>cursor_type</parameter> accepte + les deux valeurs séparées, et leur combinaison. Les + requêtes d'autre type sont à exécution immédiate. + </para> + <para> + Le nombre de lignes affectées (estimé ou exact) est + enregistré pour être lu avec <function>ifx_affected_rows</function>. + </para> + <para> + Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de + modification, vous pouvez passer un paramètre + <parameter>BLOBidarray</parameter> qui contiendra les identifiants + des BLOB à modifier, et vous devrez remplacer cette colonne par + un point d'interrogation (?) dans la requête. + </para> + <para> + Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez + aussi utiliser les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser + les colonnes TEXT ( ou BYTE ) comme des colonnes de type VARCHAR (mais + plus long, tout de même), et vous n'aurez pas besoin de l'identifiant + de BLOB. + </para> + <para> + Avec les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function> (valeurs par défaut), les + requêtes SELECT retourneront des identifiants de BLOB. Cet identifiant + peut être une chaîne ou un fichier, suivant la configuration + (voir plus loin). + </para> + <para> + Voir aussi : <function>ifx_connect</function>. + <example> + <title> + Afficher toutes les lignes de la table "ordres" sous la forme html + </title> + <programlisting role="php"> ifx_textasvarchar(1); // Utilisation du mode "text mode" pour les BLOBs $res_id = ifx_query("select * from orders", $conn_id); if (! $res_id) { - printf("Impossible de selectionner des lignes dans : %s\n<br>%s<br>\n", ifx_error()); + printf("Impossible de sélectionner des lignes dans : %s\n<br>%s<br>\n", ifx_error()); ifx_errormsg(); die; } ifx_htmltbl_result($res_id, "border=\"1\""); ifx_free_result($res_id); - </programlisting> - </example> - <example> - <title>Insertion de valeurs dans la table "catalogue" </title> - <programlisting role="php"> + </programlisting> + </example> + <example> + <title>Insertion de valeurs dans la table "catalogue" </title> + <programlisting role="php"> <?php - // créer un identifiant de BLOB pour une colonne de type BYTE et une de type TEXT +// créer un identifiant de BLOB pour une colonne de type BYTE et une de type TEXT $textid = ifx_create_blob(0, 0, "Colonne Text en mémoire"); $byteid = ifx_create_blob(1, 0, "Colonne Byte en mémoire"); - // Stocke l'identifiant du BLOB dans le tableau BLOBid +// Stocke l'identifiant du BLOB dans le tableau BLOBid $BLOBidarray[] = $textid; $BLOBidarray[] = $byteid; - // launch query +// éxécute la requête $query = "insert into catalog (stock_num, manu_code, " . "cat_descr,cat_picture) values(1,'HRO',?,?)"; $res_id = ifx_query($query, $conn_id, $BLOBidarray); if (! $res_id) { - ... erreur ... +// ... erreur ... } - // libération du résultat +// libération du résultat ifx_free_result($res_id); ?> - </programlisting> - </example> - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-prepare"> - <refnamediv> - <refname>ifx_prepare</refname> - <refpurpose>Prépare une requête SQL pour l'exécution.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_prepare</function></funcdef> - <paramdef>string <parameter>query</parameter></paramdef> - <paramdef>int <parameter>conn_id</parameter></paramdef> - <paramdef>int - <parameter><optional>cursor_def</optional></parameter> - </paramdef> - <paramdef>mixed <parameter>blobidarray</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_prepare</function> retourne un entier identifiant de - résultat <parameter>result_id</parameter> à utiliser - avec <function>ifx_do</function>. Modifie la valeur de - <parameter>affected_rows</parameter>, pour accès ultérieur - avec <function>ifx_affected_rows</function>. - </para> - <para> - Prépare la requête <parameter>query</parameter> sur la connexion - <parameter>conn_id</parameter>. Pour les requêtes de type "select-type" - un pointeur de résultat est déclaré et ouvert. L'option - <parameter>cursor_type</parameter> permet de choisir le type de pointeur : - "scroll" et/ou "hold". Les valeurs peuvent être combinées ensemble - (IFX_SCROLL, IFX_HOLD). - </para> - <para> - Le nombre de ligne affectérs (estimé ou exact) est - enregistré, pour être lu avec la fonction - <function>ifx_affected_rows</function>. - </para> - <para> - Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de - modification, vous pouvez passer un paramètre - <parameter>BLOBidarray</parameter> qui contiendra les identifiants - des BLOB à modifier, et vous devrez remplacer cette colonne par - un point d'interrogation (?) dans la requête. - </para> - <para> - Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez aussi - utiliser les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser - les colonnes TEXT (ou BYTE) comme des colonnes de type VARCHAR (mais plus - long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB. - </para> - <para> - Avec les fonctions <function>ifx_textasvarchar</function> et - <function>ifx_byteasvarchar</function> (valeurs par défaut), les - requêtes SELECT retourneront des identifiants de BLOB. - Cet identifiant peut être une chaîne ou un fichier, - suivant la configuration (voir plus loin). - </para> - <para> - Voir aussi <function>ifx_do</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-do"> - <refnamediv> - <refname>ifx_do</refname> - <refpurpose> - Exécute une requête SQL déjà préparée. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_do</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_do</function> retourne &true; en cas de succès, - &false; en cas d'erreur. - </para> - <para> - Exécute une requête qui a déjà été - préparée, ou crée un pointeur pour cela. - </para> - <para> - Ne libère pas <parameter>result_id</parameter> en cas d'erreur. - </para> - <para> - De plus, elle fixe la valeur de <parameter>result_id</parameter> pour - accès ultérieur par <function>ifx_affected_rows</function>. - </para> - <para> - Voir aussi : <function>ifx_prepare</function>. Il y a un exemple. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-error"> - <refnamediv> - <refname>ifx_error</refname> - <refpurpose>Retourne le code d'erreur de la dernière requête Informix.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ifx_error</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_error</function> retourne le code d'erreur de la dernière - requête Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) - formaté comme suit : - </para> - <para> - x [SQLSTATE = aa bbb SQLCODE=cccc] - </para> - <para> - avec x = space : aucune erreur - </para> - <para> - E : erreur - </para> - <para> - N : il n'y a plus d'informations - </para> - <para> - W : Alerte - </para> - <para> - ? : Undéfinie - </para> - <para> - Si le caractère vaut autre chose qu'un espace, SQLSTATE et SQLCODE - décrit l'erreur avec plus de détails. - </para> - <para> - Reportez vous au manuel Informix pour trouver la description de - SQLSTATE et SQLCODE - </para> - <para> - Retourne une chaîne avec un caractères, décrivant le - résultat général de la commande, et aussi SQLSTATE et - SQLCODE associé à la plus récente requête SQL - exécutée. Le format de la chaîne est - "(char) [SQLSTATE=(deux chiffres) (trois chiffres) SQLCODE=(un chiffre)]". - Le premier caractère peut être '<literal> </literal>' - (espace) (succès), '<literal>W</literal>' (Alerte), - '<literal>E</literal>' (une erreur est survenue durant le traitement ) - ou '<literal>N</literal>' (aucune donnée de retour). - </para> - <para> - Voir aussi: <function>ifx_errormsg</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-errormsg"> - <refnamediv> - <refname>ifx_errormsg</refname> - <refpurpose> - Retourne le message d'erreur de la dernière requête Informix. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>string <function>ifx_errormsg</function></funcdef> - <paramdef>int - <parameter><optional>errorcode</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_errormsg</function> retourne le plus récent - message d'erreur ou, lorsque l'option <parameter>errorcode</parameter> est - présent, le message d'erreur associé à - <parameter>errorcode</parameter>. - </para> - <para> - Voir aussi: <function>ifx_error</function>. - </para> - <informalexample> - <programlisting role="php"> -printf("%s\n<br>", ifx_errormsg(-201)); </programlisting> - </informalexample> - </refsect1> - </refentry> - <refentry id="function.ifx-affected-rows"> - <refnamediv> - <refname>ifx_affected_rows</refname> - <refpurpose> - Retourne le nombre de lignes affectées par une requête. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_affected_rows</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_affected_rows</function> retourne le nombre de lignes - affectées par la requête associée à - <parameter>result_id</parameter>. - </para> - <para> - <parameter>result_id</parameter> est un identifiant valide de résultat - retourné par <function>ifx_query</function> ou - <function>ifx_prepare</function>. - </para> - <para> - Pour les INSERT, UPDATE et DELETE, ce nombre est le nombre exact de lignes - affectées (sqlerrd[2]). Pour les SELECT, ce n'est qu'une estimation - (sqlerrd[0]). Ne vous y fiez pas. - </para> - <para> - <function>ifx_affected_rows</function> est très pratique après - <function>ifx_prepare</function> pour limiter la taille des résultats. - </para> - <para> - Voir aussi : <function>ifx_num_rows</function>. - </para> - <example> - <title>Nombre de lignes affectées</title> - <programlisting role="php"> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-prepare"> + <refnamediv> + <refname>ifx_prepare</refname> + <refpurpose>Prépare une requête SQL pour l'exécution.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_prepare</function></funcdef> + <paramdef>string <parameter>query</parameter></paramdef> + <paramdef>int <parameter>conn_id</parameter></paramdef> + <paramdef>int + <parameter><optional>cursor_def</optional></parameter> + </paramdef> + <paramdef>mixed <parameter>blobidarray</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_prepare</function> retourne un entier identifiant de + résultat <parameter>result_id</parameter> à utiliser + avec <function>ifx_do</function>. Modifie la valeur de + <parameter>affected_rows</parameter>, pour accès ultérieur + avec <function>ifx_affected_rows</function>. + </para> + <para> + <function>ifx_prepare</function> prépare la requête + <parameter>query</parameter> sur la connexion <parameter>conn_id</parameter>. + Pour les requêtes de type "select-type" un pointeur de résultat + est déclaré et ouvert. L'option <parameter>cursor_type</parameter> + permet de choisir le type de pointeur : "scroll" et/ou "hold". Les valeurs + peuvent être combinées ensemble (IFX_SCROLL, IFX_HOLD). + </para> + <para> + Le nombre de ligne affectées (estimé ou exact) est + enregistré, pour être lu avec la fonction + <function>ifx_affected_rows</function>. + </para> + <para> + Si vous avez une colonne de type BLOB (BYTE ou TEXT) dans une requête de + modification, vous pouvez passer un paramètre + <parameter>BLOBidarray</parameter> qui contiendra les identifiants + des BLOB à modifier, et vous devrez remplacer cette colonne par + un point d'interrogation (?) dans la requête. + </para> + <para> + Si le contenu d'une colonne de type TEXT (ou BYTE) vous pouvez aussi + utiliser les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function>. Cela vous permettra d'utiliser + les colonnes TEXT (ou BYTE) comme des colonnes de type VARCHAR (mais plus + long, tout de même), et vous n'aurez pas besoin de l'identifiant de BLOB. + </para> + <para> + Avec les fonctions <function>ifx_textasvarchar</function> et + <function>ifx_byteasvarchar</function> (valeurs par défaut), les + requêtes SELECT retourneront des identifiants de BLOB. + Cet identifiant peut être une chaîne ou un fichier, + suivant la configuration (voir plus loin). + </para> + <para> + Voir aussi <function>ifx_do</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-do"> + <refnamediv> + <refname>ifx_do</refname> + <refpurpose> + Exécute une requête SQL déjà préparée. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_do</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_do</function> retourne <literal>TRUE</literal> en cas de succès, + <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Exécute une requête qui a déjà été + préparée, ou crée un pointeur pour cela. + </para> + <para> + Ne libère pas <parameter>result_id</parameter> en cas d'erreur. + </para> + <para> + De plus, elle fixe la valeur de <parameter>result_id</parameter> pour + accès ultérieur par <function>ifx_affected_rows</function>. + </para> + <para> + Voir aussi : <function>ifx_prepare</function>. Il y a un exemple. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-error"> + <refnamediv> + <refname>ifx_error</refname> + <refpurpose> + Retourne le code d'erreur de la dernière requête Informix. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ifx_error</function></funcdef> + <paramdef>void</paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_error</function> retourne le code d'erreur de la dernière + requête Informix. Les codes d'erreur Informix (SQLSTATE & SQLCODE) + formaté comme suit : + </para> + <para> + x [SQLSTATE = aa bbb SQLCODE=cccc] + </para> + <para> + avec x = space : aucune erreur + </para> + <para> + E : erreur + </para> + <para> + N : il n'y a plus d'informations + </para> + <para> + W : Alerte + </para> + <para> + ? : Indéfinie + </para> + <para> + Si le caractère vaut autre chose qu'un espace, SQLSTATE et SQLCODE + décrit l'erreur avec plus de détails. + </para> + <para> + Reportez-vous au manuel Informix pour trouver la description de + SQLSTATE et SQLCODE + </para> + <para> + <function>ifx_error</function> retourne une chaîne avec un caractères, + décrivant le résultat général de la commande, + et aussi SQLSTATE et SQLCODE associé à la plus récente + requête SQL exécutée. Le format de la chaîne est + "(char) [SQLSTATE=(deux chiffres) (trois chiffres) SQLCODE=(un chiffre)]". + Le premier caractère peut être '<literal> </literal>' + (espace) (succès), '<literal>W</literal>' (Alerte), + '<literal>E</literal>' (une erreur est survenue durant le traitement ) + ou '<literal>N</literal>' (aucune donnée de retour). + </para> + <para> + Voir aussi: <function>ifx_errormsg</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-errormsg"> + <refnamediv> + <refname>ifx_errormsg</refname> + <refpurpose> + Retourne le message d'erreur de la dernière requête Informix. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>string <function>ifx_errormsg</function></funcdef> + <paramdef>int + <parameter><optional>errorcode</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_errormsg</function> retourne le plus récent + message d'erreur ou, lorsque l'option <parameter>errorcode</parameter> est + présent, le message d'erreur associé à + <parameter>errorcode</parameter>. + </para> + <para> + Voir aussi: <function>ifx_error</function>. + </para> + <informalexample> + <programlisting role="php"> +printf("%s\n<br>", ifx_errormsg(-201)); + </programlisting> + </informalexample> + </refsect1> + </refentry> + <refentry id="function.ifx-affected-rows"> + <refnamediv> + <refname>ifx_affected_rows</refname> + <refpurpose> + Retourne le nombre de lignes affectées par une requête. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_affected_rows</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_affected_rows</function> retourne le nombre de lignes + affectées par la requête associée à + <parameter>result_id</parameter>. + </para> + <para> + <parameter>result_id</parameter> est un identifiant valide de résultat + retourné par <function>ifx_query</function> ou + <function>ifx_prepare</function>. + </para> + <para> + Pour les INSERT, UPDATE et DELETE, ce nombre est le nombre exact de lignes + affectées (sqlerrd[2]). Pour les SELECT, ce n'est qu'une estimation + (sqlerrd[0]). Ne vous y fiez pas. + </para> + <para> + <function>ifx_affected_rows</function> est très pratique après + <function>ifx_prepare</function> pour limiter la taille des résultats. + </para> + <para> + Voir aussi : <function>ifx_num_rows</function>. + </para> + <example> + <title>Nombre de lignes affectées</title> + <programlisting role="php"> <?php $rid = ifx_prepare ("select * from emp where name like " . $name, $connid); @@ -681,139 +685,140 @@ } $rowcount = ifx_affected_rows ($rid); if ($rowcount > 1000) { - printf ("Trop de lignes trouvées (%d)\n<br>", $rowcount); - die ("Ressayez avec une autre requête. <br>\n"); + printf ("Trop de lignes trouvées (%d)\n<br>", $rowcount); + die ("Ressayez avec une autre requête. <br>\n"); } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-getsqlca"> - <refnamediv> - <refname>ifx_getsqlca</refname> - <refpurpose> - Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_getsqlca</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_getsqlca</function> retourne une pseudo-ligne (tableau - associatif) avec sqlca.sqlerrd[0] à sqlca.sqlerrd[5] après - la requête associée <parameter>result_id</parameter>. - </para> - <para> - <parameter>result_id</parameter> est un identifiant valide de résultat - retourné par <function>ifx_query</function> ou - <function>ifx_prepare</function>. - </para> - <para> - Pour les requêtes INSERT, UPDATE et DELETE, les valeurs - retournées sont celles fixées par le serveur après - avoir exécuté la requête. Cela donne accès au - nombre de ligne affectées, ainsi qu'au numéro de série - d'insertion. Pour les requêtes de type SELECT, les valeurs - retournées sont celles qui ont été - préparées. Utiliser cette fonction économise - l'exécution d'une requête "select dbinfo('sqlca.sqlerrdx')", - étant donné qu'elle retourne les valeurs qui ont été - sauvées par le pilote ifx au moment approprié. - </para> - <example> - <title>Lire les valeurs de sqlca.sqlerrd[x] </title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-getsqlca"> + <refnamediv> + <refname>ifx_getsqlca</refname> + <refpurpose> + Retourne le contenu de la variable sqlca.sqlerrd[0..5] après une requête. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_getsqlca</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_getsqlca</function> retourne une pseudo-ligne (tableau + associatif) avec sqlca.sqlerrd[0] à sqlca.sqlerrd[5] après + la requête associée <parameter>result_id</parameter>. + </para> + <para> + <parameter>result_id</parameter> est un identifiant valide de résultat + retourné par <function>ifx_query</function> ou + <function>ifx_prepare</function>. + </para> + <para> + Pour les requêtes INSERT, UPDATE et DELETE, les valeurs + retournées sont celles fixées par le serveur après + avoir exécuté la requête. Cela donne accès au + nombre de ligne affectées, ainsi qu'au numéro de série + d'insertion. Pour les requêtes de type SELECT, les valeurs + retournées sont celles qui ont été + préparées. Utiliser cette fonction économise + l'exécution d'une requête "select dbinfo('sqlca.sqlerrdx')", + étant donné qu'elle retourne les valeurs qui ont été + sauvées par le pilote ifx au moment approprié. + </para> + <example> + <title>Lire les valeurs de sqlca.sqlerrd[x] </title> + <programlisting role="php"> <?php /* On suppose que la première colonne d'une table 'quelconque' est un numéro de série */ $qid = ifx_query("insert into sometable values(0, '2nd column', 'another column' ", $connid); if (! $qid) { - ... erreur ... +// ... erreur ... } $sqlca = ifx_getsqlca ($qid); $serial_value = $sqlca["sqlerrd1"]; -echo "Le numéro de série de la valeur insérée est : " . $serial_value<br>\n"; +echo "Le numéro de série de la valeur insérée est : " . $serial_value<br>\n"; ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-fetch-row"> - <refnamediv> - <refname>ifx_fetch_row</refname> - <refpurpose> - Retourne une ligne sous la forme d'un tableau énuméré. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_fetch_row</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - <paramdef>mixed - <parameter><optional>position</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_fetch_row</function> retourne un tableau associatif qui - contient la ligne retournée, ou &false; si il ne reste plus de - lignes à lire, ou si il a eu une erreur. - </para> - <para> - Les colonnes de types BLOB sont retournées sous la forme d'un - identifiant à utiliser avec <function>ifx_get_blob</function> - à moins que vous n'ayez utilisé la fonction - <function>ifx_textasvarchar</function> ou - <function>ifx_byteasvarchar</function>, et dans ce cas, les BLOBs - seront retournés sous forme de chaîne. - Retourne &false; en cas d'erreur. - </para> - <para> - <parameter>result_id</parameter> est un identifiant valide de résultat, - retourné par <function>ifx_query</function> ou - <function>ifx_prepare</function> (Requêtes SELECT seulement !). - </para> - <para> - <parameter><optional>position</optional></parameter> est un paramètre - optionnel, pour une opération de lecture d'informations sur un pointeur - de type "scroll": "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" ou encore un - nombre. Si vous spécifiez un nombre, la ligne d'index absolu sera - retournée. Ce paramètre est optionnel, et ne fonctionne qu'avec - les pointeurs de type "scroll". - </para> - <para> - <function>ifx_fetch_row</function> retourne une ligne de données d'un - résultat associé à l'identifiant de résultat - <parameter>result_id</parameter>. La ligne est retournée sous la - forme d'un tableau associatif. - </para> - <para> - Les appels ultérieurs à <function>ifx_fetch_row</function> - retourneront la ligne suivante, ou &false; si il n'y a plus de ligne. - </para> - <example> - <title>Exemple avec <function>ifx_fetch_row</function></title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-fetch-row"> + <refnamediv> + <refname>ifx_fetch_row</refname> + <refpurpose> + Retourne une ligne sous la forme d'un tableau énuméré. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_fetch_row</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + <paramdef>mixed + <parameter><optional>position</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_fetch_row</function> retourne un tableau associatif qui + contient la ligne retournée, ou <literal>FALSE</literal> s'il ne reste plus de + lignes à lire, ou s'il a eu une erreur. + </para> + <para> + Les colonnes de types BLOB sont retournées sous la forme d'un + identifiant à utiliser avec <function>ifx_get_blob</function> + à moins que vous n'ayez utilisé la fonction + <function>ifx_textasvarchar</function> ou + <function>ifx_byteasvarchar</function>, et dans ce cas, les BLOBs + seront retournés sous forme de chaîne. + <function>ifx_fetch_row</function> retourne <literal>FALSE</literal> + en cas d'erreur. + </para> + <para> + <parameter>result_id</parameter> est un identifiant valide de résultat, + retourné par <function>ifx_query</function> ou + <function>ifx_prepare</function> (Requêtes SELECT seulement !). + </para> + <para> + <parameter>position</parameter> est un paramètre + optionnel, pour une opération de lecture d'informations sur un pointeur + de type "scroll": "NEXT", "PREVIOUS", "CURRENT", "FIRST", "LAST" ou encore un + nombre. Si vous spécifiez un nombre, la ligne d'index absolu sera + retournée. Ce paramètre est optionnel, et ne fonctionne qu'avec + les pointeurs de type "scroll". + </para> + <para> + <function>ifx_fetch_row</function> retourne une ligne de données d'un + résultat associé à l'identifiant de résultat + <parameter>result_id</parameter>. La ligne est retournée sous la + forme d'un tableau associatif. + </para> + <para> + Les appels ultérieurs à <function>ifx_fetch_row</function> + retourneront la ligne suivante, ou <literal>FALSE</literal> s'il n'y a plus de ligne. + </para> + <example> + <title>Exemple avec <function>ifx_fetch_row</function></title> + <programlisting role="php"> <?php $rid = ifx_prepare ("select * from emp where name like " . $name, $connid, IFX_SCROLL); if (! $rid) { - ... erreur ... +// ... erreur ... } $rowcount = ifx_affected_rows($rid); if ($rowcount > 1000) { - printf ("Trop de lignes dans le résultats. (%d)\n<br>", $rowcount); - die ("Recommencez votre requête. <br>\n"); + printf ("Trop de lignes dans le résultats. (%d)\n<br>", $rowcount); + die ("Recommencez votre requête. <br>\n"); } if (! ifx_do ($rid)) { - ... erreur ... +// ... erreur ... } $row = ifx_fetch_row ($rid, "NEXT"); while (is_array($row)) { @@ -821,91 +826,91 @@ $fieldvalue = $row[$fieldname]; printf ("%s = %s,", $fieldname, $fieldvalue); } - printf("\n<br>"); + printf("\n<br>"); $row = ifx_fetch_row ($rid, "NEXT"); } ifx_free_result ($rid); ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-htmltbl-result"> - <refnamediv> - <refname>ifx_htmltbl_result</refname> - <refpurpose> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-htmltbl-result"> + <refnamediv> + <refname>ifx_htmltbl_result</refname> + <refpurpose> Lit toutes les lignes d'un tableau, et la met sous la forme d'un tableau HTML. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_htmltbl_result</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - <paramdef>string - <parameter><optional>html_table_options</optional></parameter> - </paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_htmltbl_result</function> lit toutes les lignes d'un - tableau, et la met sous la forme d'un tableau HTML, ou &false; en cas - d'erreur. - </para> - <para> - Affiche les lignes avec des balises HTML. Le second argument permet - de modifier les options de table. - </para> - <example> - <title>Affichage sous la forme d'une table HTML</title> - <programlisting role="php"> + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_htmltbl_result</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + <paramdef>string + <parameter><optional>html_table_options</optional></parameter> + </paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_htmltbl_result</function> lit toutes les lignes d'un + tableau, et la met sous la forme d'un tableau HTML, ou <literal>FALSE</literal> en cas + d'erreur. + </para> + <para> + Affiche les lignes avec des balises HTML. Le second argument permet + de modifier les options de table. + </para> + <example> + <title>Affichage sous la forme d'une table HTML</title> + <programlisting role="php"> <?php $rid = ifx_prepare ("select * from emp where name like " . $name, $connid, IFX_SCROLL); if (! $rid) { - ... erreur ... +// ... erreur ... } $rowcount = ifx_affected_rows ($rid); if ($rowcount > 1000) { - printf ("Trop de lignes dans le résultat : (%d)\n<br>", $rowcount); - die ("Recommencez votre requête <br>\n"); + printf ("Trop de lignes dans le résultat : (%d)\n<br>", $rowcount); + die ("Recommencez votre requête <br>\n"); } if (! ifx_do($rid) { - ... erreur ... +// ... erreur ... } ifx_htmltbl_result ($rid, "border=\"2\""); ifx_free_result($rid); ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-fieldtypes"> - <refnamediv> - <refname>ifx_fieldtypes</refname> - <refpurpose>Liste les champs Informix SQL.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_fieldtypes</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_fieldtypes</function> retourne un tableau associatif avec - les noms des champs comme clés, et les types SQL comme valeur. En - cas d'erreur, retourne &false;. - </para> - <example> - <title>Nom de champs et type SQL.</title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-fieldtypes"> + <refnamediv> + <refname>ifx_fieldtypes</refname> + <refpurpose>Liste les champs Informix SQL.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_fieldtypes</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_fieldtypes</function> retourne un tableau associatif avec + les noms des champs comme clés, et les types SQL comme valeur. En + cas d'erreur, retourne <literal>FALSE</literal>. + </para> + <example> + <title>Nom de champs et type SQL.</title> + <programlisting role="php"> <?php $types = ifx_fieldtypes ($resultid); if (! isset ($types)) { - ... erreur ... +// ... erreur ... } for ($i = 0; $i < count($types); $i++) { $fname = key($types); @@ -913,45 +918,47 @@ next($types); } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-fieldproperties"> - <refnamediv> - <refname>ifx_fieldproperties</refname> - <refpurpose>Liste les propriétés des champs SQL.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>array <function>ifx_fieldproperties</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_fieldproperties</function> retourne un tableau associatif - avec les nom des champs comme clé, et les données de - propriétés des champs comme valeur. Retourne &false; en - cas d'erreur. - </para> - <para> - Retourne les propriétés Informix SQL pour tous les champs - d'une requête, sous la forme d'un tableau associatif. Les - propriétés sont présentées sous la forme - : "SQLTYPE;longueur ;précision;échelle;ISNULLABLE" avec - SQLTYPE qui représente le type de données Informix tel - que "SQLVCHAR" et ISNULLABLE = "Y" ou "N" (le champs peut contenir &null; - ou pas : Oui ou Non). - </para> - <example> - <title>Exemple avec <function>ifx_fieldproperties</function></title> - <programlisting role="php"> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-fieldproperties"> + <refnamediv> + <refname>ifx_fieldproperties</refname> + <refpurpose>Liste les propriétés des champs SQL.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>ifx_fieldproperties</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_fieldproperties</function> retourne un tableau associatif + avec les nom des champs comme clé, et les données de + propriétés des champs comme valeur. + <function>ifx_fieldproperties</function> retourne <literal>FALSE</literal> en + cas d'erreur. + </para> + <para> + <function>ifx_fieldproperties</function> retourne les propriétés + Informix SQL pour tous les champs + d'une requête, sous la forme d'un tableau associatif. Les + propriétés sont présentées sous la forme + : "SQLTYPE;longueur ;précision;échelle;ISNULLABLE" avec + SQLTYPE qui représente le type de données Informix tel + que "SQLVCHAR" et ISNULLABLE = "Y" ou "N" (le champs peut contenir NULL + ou pas : Oui ou Non). + </para> + <example> + <title>Exemple avec <function>ifx_fieldproperties</function></title> + <programlisting role="php"> <?php $properties = ifx_fieldtypes ($resultid); if (! isset($properties)) { - ... erreur ... +// ... erreur ... } for ($i = 0; $i < count($properties); $i++) { $fname = key ($properties); @@ -959,536 +966,552 @@ next ($properties); } ?> - </programlisting> - </example> - </refsect1> - </refentry> - <refentry id="function.ifx-num-fields"> - <refnamediv> - <refname>ifx_num_fields</refname> - <refpurpose>Retourne le nombre de colonnes dans une requête.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_num_fields</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_num_fields</function> retourne le nombre de colonnes - dans la requête <parameter>result_id</parameter> ou &false; en cas d'erreur. - </para> - <para> - Après avoir préparé ou exécuté une - requête, cette fonction retourne le nombre de colonne dans la - requête. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-num-rows"> - <refnamediv> - <refname>ifx_num_rows</refname> - <refpurpose> - Compte le nombre de ligne déjà lues dans un résultat. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_num_rows</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_num_rows</function> compte le nombre de ligne déjà - lues dans le résultat <parameter>result_id</parameter> après - <function>ifx_query</function> ou <function>ifx_do</function>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-free-result"> - <refnamediv> - <refname>ifx_free_result</refname> - <refpurpose>Libère les ressources prises par un résultat.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_free_result</function></funcdef> - <paramdef>int <parameter>result_id</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_free_result</function> libère les ressources prises - par le résultat <parameter>result_id</parameter>. - Retourne &false; en cas d'erreur. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-create-char"> - <refnamediv> - <refname>ifx_create_char</refname> - <refpurpose>Crée un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_create_char</function></funcdef> - <paramdef>string <parameter>param</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_create_char</function> crée un objet char. - <parameter>param</parameter> sera le contenu de l'objet. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-free-char"> - <refnamediv> - <refname>ifx_free_char</refname> - <refpurpose>Supprime un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_free_char</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_free_char</function> supprime l'objet char - <parameter>bid</parameter>. Retourne &false; en cas d'erreur, - et sinon &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-update-char"> - <refnamediv> - <refname>ifx_update_char</refname> - <refpurpose>Modifie le contenu d'un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_update_char</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_update_char</function> modifie le contenu de l'objet - char repéré par son identifiant<parameter>bid</parameter>. - <parameter>content</parameter> est une chaîne avec les nouvelles - données. Retourne. &false; en cas d'erreur, et sinon, - &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-get-char"> - <refnamediv> - <refname>ifx_get_char</refname> - <refpurpose>Retourne le contenu d'un objet char.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_get_char</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_get_char</function> retourne le contenu de l'objet - associé à l'identifiant <parameter>bid</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-create-blob"> - <refnamediv> - <refname>ifx_create_blob</refname> - <refpurpose>Crée un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_create_blob</function></funcdef> - <paramdef>int <parameter>type</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - <paramdef>string <parameter>param</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_create_blob</function> crée un objet BLOB. - </para> - <para> - type: 1 = TEXT, 0 = BYTE - </para> - <para> - mode: 0 = L'objet BLOB place le contenu en mémoire ; - 1 = L'objet BLOB place le contenu dans un fichier. - </para> - <para> - param: Si mode = 0: pointeur du contenu, - si mode = 1: pointeur vers un fichier. - </para> - <para> - Retourne &false; en cas d'erreur, et sinon, un identifiant de BLOB. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-copy-blob"> - <refnamediv> - <refname>ifx_copy_blob</refname> - <refpurpose>Duplique un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_copy_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_copy_blob</function> retourne &false; en cas d'erreur, et - sinon, l'identifiant du nouvel objet. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-free-blob"> - <refnamediv> - <refname>ifx_free_blob</refname> - <refpurpose>Supprime un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_free_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_free_blob</function> supprime l'objet BLOB - <parameter>bid</parameter>. Retourne &false; en cas d'erreur, et sinon &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-get-blob"> - <refnamediv> - <refname>ifx_get_blob</refname> - <refpurpose>Retourne le contenu d'un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifx_get_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_get_blob</function> retourne le contenu de l'objet BLOB - associé à <parameter>bid</parameter>. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-update-blob"> - <refnamediv> - <refname>ifx_update_blob</refname> - <refpurpose>Modifie le contenu d'un objet BLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>bool <function>ifx_update_blob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_update_blob</function> modifie le contenu de l'objet BLOB - repéré par sont identifiant <parameter>bid</parameter>. - <parameter>content</parameter> est une chaîne contenant les nouvelles - données. Retourne &false; en cas d'erreur, et sinon, &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-blobinfile-mode"> - <refnamediv> - <refname>ifx_blobinfile_mode</refname> - <refpurpose> - Choisi le mode par défaut des objets BLOB pour toutes les - requêtes SELECT. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_blobinfile_mode</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_blobinfile_mode</function> modifie le mode par défaut - des objets BLOB pour toutes les requêtes SELECT. - Mode "0" chargera les BLOB de type Byte en mémoire ; - Mode "1" sauvera les BLOB de type Byte dans un fichier. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-textasvarchar"> - <refnamediv> - <refname>ifx_textasvarchar</refname> - <refpurpose>Choisi le mode par défaut des objets text.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_textasvarchar</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_textasvarchar</function> modifie le mode par défaut - des objets TEXT. Le mode "0" retournera un identifiant de BLOB et le mode "1" - retourne le BLOB sous la forme d'un (gros) varchar. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-byteasvarchar"> - <refnamediv> - <refname>ifx_byteasvarchar</refname> - <refpurpose>Choisi le mode par défaut des objets BYTE.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_byteasvarchar</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_byteasvarchar</function> modifie le mode par défaut - des objets BYTE. Le mode "0" retournera l'identifiant de BLOB, et - le mode "1" retourenra le contenu du text sous la forme d'un VARCHAR. - </para> - </refsect1> - </refentry> - <refentry id="function.ifx-nullformat"> - <refnamediv> - <refname>ifx_nullformat</refname> - <refpurpose> - Modifie le mode par défaut de lecture des valeurs. - </refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>void <function>ifx_nullformat</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifx_nullformat</function> modifie le mode par défaut de - lecture des valeurs. Le mode "0" retourne "", et le mode "1" retourne "&null;". - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-create-slob"> - <refnamediv> - <refname>ifxus_create_slob</refname> - <refpurpose>Crée un objet SLOB et l'ouvre.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_create_slob</function></funcdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_create_slob</function> crée un objet SLOB et l'ouvre. - Les modes valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, - 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des - précédents. Vous pouvez aussi utiliser les constantes suivantes : - IFX_LO_RDONLY, IFX_LO_WRONLY etc. Retourne &false; en cas d'erreur, et sinon, - l'identifiant de l'objet SLOB. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-free-slob"> - <refnamediv> - <refname>ifx_free_slob</refname> - <refpurpose>Supprime un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_free_slob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_free_slob</function> supprime un objet SLOB. - <parameter>bid</parameter> est l'identifiant de l'objet SLOB. Retourne - &false; en cas d'erreur, et sinon &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-close-slob"> - <refnamediv> - <refname>ifxus_close_slob</refname> - <refpurpose>Ferme un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_close_slob</function></funcdef> - <paramdef>int <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_close_slob</function> ferme l'objet SLOB représenté - par son identifiant <parameter>bid</parameter>. Retourne &false; en cas d'erreur, - et sinon, &true;. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-open-slob"> - <refnamediv> - <refname>ifxus_open_slob</refname> - <refpurpose>Ouvre un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_open_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_open_slob</function> ouvre un objet SLOB. - <parameter>bid</parameter> est un identifiant d'objet SLOB. Les modes - valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, - 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des - valeurs précédentes. Retourne &false; en cas d'erreur, et - sinon, l'identifiant du nouvel objet. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-tell-slob"> - <refnamediv> - <refname>ifxus_tell_slob</refname> - <refpurpose>Retourne le fichier courant, ou la position courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_tell_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_tell_slob</function> retourne le fichier courant, ou la - position courante d'un objet SLOB ouvert. <parameter>bid</parameter> est - un identifiant d'objet SLOB. Retourne &false; en cas d'erreur, et sinon, - la position du pointeur de fichier. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-seek-slob"> - <refnamediv> - <refname>ifxus_seek_slob</refname> - <refpurpose>Fixe le fichier courant, ou la position courante.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_seek_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>int <parameter>mode</parameter></paramdef> - <paramdef>long <parameter>offset</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_seek_blob</function> modifie le fichier courant, ou - la position du pointeur de fichier, pour un objet SLOB ouvert. - <parameter>bid</parameter> est un identifiant d'objet SLOB. - Les modes valides sont : 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END et - <parameter>offset</parameter> est un octet d'offset. - <function>ifxus_seek_blob</function> retourne &false; en cas - d'erreur, et sinon, la position du pointeur de fichier. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-read-slob"> - <refnamediv> - <refname>ifxus_read_slob</refname> - <refpurpose>Lit n bytes d'un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_read_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>long <parameter>nbytes</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_read_slob</function> lit <parameter>nbytes</parameter> octets - de l'objet SLOB <parameter>bid</parameter>. <parameter>bid</parameter> est un - identifiant d'objet SLOB existant, et <parameter>nbytes</parameter> est le - nombre d'octets à lire. Retourne &false; en cas d'erreur, et sinon, - une chaîne de caractères. - </para> - </refsect1> - </refentry> - <refentry id="function.ifxus-write-slob"> - <refnamediv> - <refname>ifxus_write_slob</refname> - <refpurpose>Ecrit une chaîne dans un objet SLOB.</refpurpose> - </refnamediv> - <refsect1> - <title>Description</title> - <funcsynopsis> - <funcprototype> - <funcdef>int <function>ifxus_write_slob</function></funcdef> - <paramdef>long <parameter>bid</parameter></paramdef> - <paramdef>string <parameter>content</parameter></paramdef> - </funcprototype> - </funcsynopsis> - <para> - <function>ifxus_write_slob</function> écrit une chaîne dans un - objet SLOB. <parameter>bid</parameter> est un identifiant d'objet SLOB - et <parameter>content</parameter> sont les données à - écrire. Retourne &false; en cas d'erreur, et sinon, le nombre - d'octets écrits. - </para> - </refsect1> - </refentry> - </reference> + </programlisting> + </example> + </refsect1> + </refentry> + <refentry id="function.ifx-num-fields"> + <refnamediv> + <refname>ifx_num_fields</refname> + <refpurpose>Retourne le nombre de colonnes dans une requête.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_num_fields</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_num_fields</function> retourne le nombre de colonnes + dans la requête <parameter>result_id</parameter> ou <literal>FALSE</literal> en cas d'erreur. + </para> + <para> + Après avoir préparé ou exécuté une + requête, cette fonction retourne le nombre de colonne dans la + requête. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-num-rows"> + <refnamediv> + <refname>ifx_num_rows</refname> + <refpurpose> + Compte le nombre de ligne déjà lues dans un résultat. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_num_rows</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_num_rows</function> compte le nombre de ligne déjà + lues dans le résultat <parameter>result_id</parameter> après + <function>ifx_query</function> ou <function>ifx_do</function>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-free-result"> + <refnamediv> + <refname>ifx_free_result</refname> + <refpurpose>Libère les ressources prises par un résultat.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_free_result</function></funcdef> + <paramdef>int <parameter>result_id</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_free_result</function> libère les ressources prises + par le résultat <parameter>result_id</parameter>. + <function>ifx_free_result</function> retourne <literal>FALSE</literal> + en cas d'erreur. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-create-char"> + <refnamediv> + <refname>ifx_create_char</refname> + <refpurpose>Crée un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_create_char</function></funcdef> + <paramdef>string <parameter>param</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_create_char</function> crée un objet char. + <parameter>param</parameter> sera le contenu de l'objet. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-free-char"> + <refnamediv> + <refname>ifx_free_char</refname> + <refpurpose>Supprime un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_free_char</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_free_char</function> supprime l'objet char + <parameter>bid</parameter>. <function>ifx_free_char</function> + retourne <literal>FALSE</literal> en cas d'erreur, + et sinon <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-update-char"> + <refnamediv> + <refname>ifx_update_char</refname> + <refpurpose>Modifie le contenu d'un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_update_char</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + <paramdef>string <parameter>content</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_update_char</function> modifie le contenu de l'objet + char repéré par son identifiant<parameter>bid</parameter>. + <parameter>content</parameter> est une chaîne avec les nouvelles + données. <function>ifx_update_char</function> retourne + <literal>FALSE</literal> en cas d'erreur, et sinon, + <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-get-char"> + <refnamediv> + <refname>ifx_get_char</refname> + <refpurpose>Retourne le contenu d'un objet char.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_get_char</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_get_char</function> retourne le contenu de l'objet + associé à l'identifiant <parameter>bid</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-create-blob"> + <refnamediv> + <refname>ifx_create_blob</refname> + <refpurpose>Crée un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_create_blob</function></funcdef> + <paramdef>int <parameter>type</parameter></paramdef> + <paramdef>int <parameter>mode</parameter></paramdef> + <paramdef>string <parameter>param</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_create_blob</function> crée un objet BLOB. + </para> + <para> + type: 1 = TEXT, 0 = BYTE + </para> + <para> + mode: 0 = L'objet BLOB place le contenu en mémoire ; + 1 = L'objet BLOB place le contenu dans un fichier. + </para> + <para> + param: Si mode = 0: pointeur du contenu, + si mode = 1: pointeur vers un fichier. + </para> + <para> + <function>ifx_create_blob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, un identifiant de BLOB. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-copy-blob"> + <refnamediv> + <refname>ifx_copy_blob</refname> + <refpurpose>Duplique un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_copy_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_copy_blob</function> retourne <literal>FALSE</literal> en cas d'erreur, et + sinon, l'identifiant du nouvel objet. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-free-blob"> + <refnamediv> + <refname>ifx_free_blob</refname> + <refpurpose>Supprime un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_free_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_free_blob</function> supprime l'objet BLOB + <parameter>bid</parameter>. + <function>ifx_free_blob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-get-blob"> + <refnamediv> + <refname>ifx_get_blob</refname> + <refpurpose>Retourne le contenu d'un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifx_get_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_get_blob</function> retourne le contenu de l'objet BLOB + associé à <parameter>bid</parameter>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-update-blob"> + <refnamediv> + <refname>ifx_update_blob</refname> + <refpurpose>Modifie le contenu d'un objet BLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>boolean <function>ifx_update_blob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + <paramdef>string <parameter>content</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_update_blob</function> modifie le contenu de l'objet BLOB + repéré par sont identifiant <parameter>bid</parameter>. + <parameter>content</parameter> est une chaîne contenant les nouvelles + données. <function>ifx_update_blob</function> retourne + <literal>FALSE</literal> en cas d'erreur, et sinon, <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-blobinfile-mode"> + <refnamediv> + <refname>ifx_blobinfile_mode</refname> + <refpurpose> + Choisit le mode par défaut des objets BLOB pour toutes les + requêtes SELECT. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_blobinfile_mode</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_blobinfile_mode</function> modifie le mode par défaut + des objets BLOB pour toutes les requêtes SELECT. + Mode "0" chargera les BLOB de type Byte en mémoire ; + Mode "1" sauvera les BLOB de type Byte dans un fichier. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-textasvarchar"> + <refnamediv> + <refname>ifx_textasvarchar</refname> + <refpurpose>Choisit le mode par défaut des objets text.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_textasvarchar</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_textasvarchar</function> modifie le mode par défaut + des objets TEXT. Le mode "0" retournera un identifiant de BLOB et le mode "1" + retourne le BLOB sous la forme d'un (gros) varchar. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-byteasvarchar"> + <refnamediv> + <refname>ifx_byteasvarchar</refname> + <refpurpose>Choisit le mode par défaut des objets BYTE.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_byteasvarchar</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_byteasvarchar</function> modifie le mode par défaut + des objets BYTE. Le mode "0" retournera l'identifiant de BLOB, et + le mode "1" retourenra le contenu du TEXT sous la forme d'un VARCHAR. + </para> + </refsect1> + </refentry> + <refentry id="function.ifx-nullformat"> + <refnamediv> + <refname>ifx_nullformat</refname> + <refpurpose> + Modifie le mode par défaut de lecture des valeurs. + </refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>ifx_nullformat</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifx_nullformat</function> modifie le mode par défaut de + lecture des valeurs. Le mode "0" retourne "", et le mode "1" retourne "NULL". + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-create-slob"> + <refnamediv> + <refname>ifxus_create_slob</refname> + <refpurpose>Crée un objet SLOB et l'ouvre.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_create_slob</function></funcdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_create_slob</function> crée un objet SLOB et l'ouvre. + Les modes valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, + 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des + précédents. Vous pouvez aussi utiliser les constantes suivantes : + IFX_LO_RDONLY, IFX_LO_WRONLY etc. <function>ifxus_create_slob</function> + retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + l'identifiant de l'objet SLOB. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-free-slob"> + <refnamediv> + <refname>ifx_free_slob</refname> + <refpurpose>Supprime un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_free_slob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_free_slob</function> supprime un objet SLOB. + <parameter>bid</parameter> est l'identifiant de l'objet SLOB. + <function>ifxus_free_slob</function> retourne + <literal>FALSE</literal> en cas d'erreur, et sinon <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-close-slob"> + <refnamediv> + <refname>ifxus_close_slob</refname> + <refpurpose>Ferme un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_close_slob</function></funcdef> + <paramdef>int <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_close_slob</function> ferme l'objet SLOB représenté + par son identifiant <parameter>bid</parameter>. + <function>ifxus_close_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, <literal>TRUE</literal>. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-open-slob"> + <refnamediv> + <refname>ifxus_open_slob</refname> + <refpurpose>Ouvre un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_open_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>int <parameter>mode</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_open_slob</function> ouvre un objet SLOB. + <parameter>bid</parameter> est un identifiant d'objet SLOB. Les modes + valides sont : 1 = LO_RDONLY, 2 = LO_WRONLY, 4 = LO_APPEND, + 8 = LO_RDWR, 16 = LO_BUFFER, 32 = LO_NOBUFFER -> ou une combinaison des + valeurs précédentes. + <function>ifxus_open_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, l'identifiant du nouvel objet. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-tell-slob"> + <refnamediv> + <refname>ifxus_tell_slob</refname> + <refpurpose>Retourne le fichier courant, ou la position courante.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_tell_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_tell_slob</function> retourne le fichier courant, ou la + position courante d'un objet SLOB ouvert. <parameter>bid</parameter> est + un identifiant d'objet SLOB. + <function>ifxus_tell_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, + la position du pointeur de fichier. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-seek-slob"> + <refnamediv> + <refname>ifxus_seek_slob</refname> + <refpurpose>Fixe le fichier courant, ou la position courante.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_seek_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>int <parameter>mode</parameter></paramdef> + <paramdef>long <parameter>offset</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_seek_slob</function> modifie le fichier courant, ou + la position du pointeur de fichier, pour un objet SLOB ouvert. + <parameter>bid</parameter> est un identifiant d'objet SLOB. + Les modes valides sont : 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END et + <parameter>offset</parameter> est un octet d'offset. + <function>ifxus_seek_slob</function> retourne <literal>FALSE</literal> en cas + d'erreur, et sinon, la position du pointeur de fichier. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-read-slob"> + <refnamediv> + <refname>ifxus_read_slob</refname> + <refpurpose>Lit n bytes d'un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_read_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>long <parameter>nbytes</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_read_slob</function> lit <parameter>nbytes</parameter> octets + de l'objet SLOB <parameter>bid</parameter>. <parameter>bid</parameter> est un + identifiant d'objet SLOB existant, et <parameter>nbytes</parameter> est le + nombre d'octets à lire. + <function>ifxus_read_slob</function> retourne <literal>FALSE</literal> en cas d'erreur, et sinon, + une chaîne de caractères. + </para> + </refsect1> + </refentry> + <refentry id="function.ifxus-write-slob"> + <refnamediv> + <refname>ifxus_write_slob</refname> + <refpurpose>Ecrit une chaîne dans un objet SLOB.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>int <function>ifxus_write_slob</function></funcdef> + <paramdef>long <parameter>bid</parameter></paramdef> + <paramdef>string <parameter>content</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>ifxus_write_slob</function> écrit une chaîne dans un + objet SLOB. <parameter>bid</parameter> est un identifiant d'objet SLOB + et <parameter>content</parameter> sont les données à + écrire. + <function>ifxus_write_slob</function> retourne <literal>FALSE</literal> + en cas d'erreur, et sinon, le nombre + d'octets écrits. + </para> + </refsect1> + </refentry> +</reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml