Index: phpdoc/fr/functions/sesam.xml diff -u phpdoc/fr/functions/sesam.xml:1.1 phpdoc/fr/functions/sesam.xml:1.2 --- phpdoc/fr/functions/sesam.xml:1.1 Thu Dec 14 13:46:27 2000 +++ phpdoc/fr/functions/sesam.xml Fri Dec 15 03:29:58 2000 @@ -1,237 +1,280 @@ - SESAM database functions + SESAM SESAM - - SESAM/SQL-Server is a mainframe database system, developed by - Fujitsu Siemens Computers, Germany. It runs on high-end - mainframe servers using the operating system BS2000/OSD. + SESAM/SQL-Server est une base de données mainframe, développée + par Fujitsu Siemens Computers, Allemagne. Elle fonctionne sur les + serveur mainframe, sous BS2000/OSD. - In numerous productive BS2000 installations, SESAM/SQL-Server - has proven ... + Sur de nombreuses installation BS2000 en production, SESAM/SQL-Server + a prouvé ... - the ease of use of Java-, Web- and client/server - connectivity, - the capability to work with an availability of more - than 99.99%, - the ability to manage tens and even hundreds of - thousands of users. + + + La facilité de connectivité Java, Web et client/serveur + + + + + La disponibilité de plus de 99.99%, + + + + + La capacité de gérer des dizaines et mêmes des centaines de milliers + d'utilisateurs. + + - Now there is a PHP3 SESAM interface available which allows - database operations via PHP-scripts. + Désormais, il existe une interface PHP pour SESAM, qui donne + l'accès à cette base aux scripts PHP. - Configuration notes + Notes de configuration - There is no standalone support for the PHP SESAM interface, - it works only as an integrated Apache module. In the Apache PHP - module, this SESAM interface is - configured using Apache directives. + Il n'y a pas de support pour l'interface SESAM si PHP est un CGI : + elle ne fonctionne que comme module Apache. En module Apache, + l'interface SESAM peut être + configurée avec les directives Apache.

- SESAM Configuration directives + Directives de configuration SESAM - Directive - Meaning + Directive + Signification - php3_sesam_oml - Name of BS2000 PLAM library containing the - loadable SESAM driver modules. - Required for using SESAM functions. - - Example: + + php3_sesam_oml + + + Nom de la librairie BS2000 PLAM contenant le module du pilote + SESAM. Ceci est obligatoire pour utiliser les fonctions SESAM. + + Exemple: - -php3_sesam_oml $.SYSLNK.SESAM-SQL.030 - - - - - - php3_sesam_configfile - Name of SESAM application configuration file. - Required for using SESAM functions. - - Example: - - -php3_sesam_configfile $SESAM.SESAM.CONF.AW - It will usually contain a configuration like (see SESAM - reference manual): - - + +php3_sesam_oml $.SYSLNK.SESAM-SQL.030 + + + + + + + + php3_sesam_configfile + + + Nom du fichier de configuration de l'application SESAM. + Ceci est obligatoire pour utiliser les fonctions SESAM. + + Exemple: + + +php3_sesam_configfile $SESAM.SESAM.CONF.AW + + + Ce fichier contient généralement une configuration comme celle + ci (voir dans le manuel de référence SESAM): + + CNF=B NAM=K -NOTYPE - - - +NOTYPE + + + + + + + + php3_sesam_messagecatalog + + + Nom du fichier de messages SESAM. Dans la plus part des cas, + cette directive n'est pas nécessaire. Uniquement si le fichier + de messages SESAM n'es pas installé dans la table de messages + BS2000. Il peut alors être choisi avec cette directive. + + Exemple: + + +php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 + + + + - - php3_sesam_messagecatalog - Name of SESAM message catalog file. - In most cases, this directive is not neccessary. Only if the - SESAM message file is not installed in the system's BS2000 - message file table, it can be set with this directive. - - Example: - - -php3_sesam_messagecatalog $.SYSMES.SESAM-SQL.030 - - - -
- In addition to the configuration of the PHP/SESAM interface, - you have to configure the SESAM-Database server itself on your - mainframe as usual. That means: + En plus de la configuration de l'interface PHP/SESAM, vous devez + aussi configurer le serveur SESAM-Database sur votre mainframe, + comme d'habitude. Cela signifie notamment qu'il faut : - starting the SESAM database handler (DBH), and - connecting the databases with the SESAM database - handler + + + démarrer le gestionnaire de base SESAM (DBH) + + + + + connecter les bases avec le gestionnaire de bases SESAM + + - To get a connection between a PHP script and the database - handler, the CNF and NAM - parameters of the selected SESAM configuration file must match - the id of the started database handler. - - - In case of distributed databases you have to start a - SESAM/SQL-DCN agent with the distribution table including the - host and database names. - - - The communication between PHP (running in the POSIX subsystem) - and the database handler (running outside the POSIX subsystem) - is realized by a special driver module called SQLSCI and SESAM - connection modules using common memory. - Because of the common memory access, and because PHP is a - static part of the web server, database accesses are very fast, - as they do not require remote accesses via ODBC, JDBC or UTM. - - - Only a small stub loader (SESMOD) is linked with PHP, and the - SESAM connection modules are pulled in from SESAM's OML PLAM - library. In the configuration, you must tell - PHP the name of this PLAM library, and the file link to use for - the SESAM configuration file (As of SESAM V3.0, SQLSCI is - available in the SESAM Tool Library, which is part of the - standard distribution). - - - Because the SQL command quoting for single quotes uses duplicated - single quotes (as opposed to a single quote preceded by a - backslash, used in some other databases), it is advisable to - set the PHP configuration directives php3_magic_quotes_gpc - and php3_magic_quotes_sybase - to On for all PHP scripts using the SESAM - interface. + Pour connecter un script PHP au serveur de bases SESAM, les paramètres + CNF et NAM de la configuration + SESAM selectionnée doivent correspondre à l'id du gestionnaire de + base démarré. + + + Dans le cas des bases de données distribuées, vous devez démarrer + un agent SESAM/SQL-DCN, avec la table de distribution incluant + le nom de l'hôte et de la base de données. + + + La communication entre PHP (fonctionnant sur le sous-système POSIX) + et le gestionnaire de base (fonctionnant hors du sous-système POSIX) + est réalisée par un pilote spécial appelé SQLSCI et le module de + connexion SESAM, qui utilise la mémoire partagée. A cause de la mémoire + partagée, et parce que PHP est une partie statique du serveur web, les + accès à la base de données sont extrêmement rapide, car il ne requièrent + pas de connexion distante via ODBC, JDBC ou UTM. + + + Seul un chargeur de stub (stub loader, SESMOD) est compilé dans PHP. + Les modules de connexion SESAM proviennent de la librairie OML PLAM. + Dans la configuration, vous devez + indiquer à PHP le nom de la librairie PALM, et le fichier de lien à + utiliser pour la configuration de SESAM (En SESAM V3.0, SQLSCI est + disponible dans la librairie d'outils SESAM (SESAM Tool Library), qui + fait partie de la distribution standard). + + + Les commandes SQL imposent que les guillemets simples soient doublés + pour être interprété litéralement (contrairement à d'autres bases + de données qui utilisent un guillement simple, précédé d'un antislash), + il est recommandé d'activer les directives PHP + php3_magic_quotes_gpc + et + php3_magic_quotes_sybase. - Runtime considerations + Exécutions - Because of limitations of the BS2000 process model, the driver can - be loaded only after the Apache server has forked off its server child - processes. This will slightly slow down the initial SESAM request - of each child, but subsequent accesses will respond at full speed. - - - When explicitly defining a Message Catalog for SESAM, that - catalog will be loaded each time the driver is loaded (i.e., at - the initial SESAM request). The BS2000 operating system prints - a message after successful load of the message catalog, which - will be sent to Apache's error_log file. BS2000 currently does - not allow suppression of this message, it will slowly fill up - the log. - - - Make sure that the SESAM OML PLAM library and SESAM - configuration file are readable by the user id running the web server. - Otherwise, the server will be unable to load the driver, and - will not allow to call any SESAM functions. Also, access to - the database must be granted to the user id under which the - Apache server is running. Otherwise, connections to the - SESAM database handler will fail. + A cause des limitations du modèle de processus BS2000, le pilote + peut être chargé uniquement après que le serveur Apache ait généré + le processus fils. Cela ralentit légèrement le traitement de la première + requête, mais toutes les requêtes suivantes seront effecutée + à pleine vitesse. + + + Lorsque vous définissez explicitement le catalogue de messages + SESAM, ce catalogue ser chargé à chaque fois que le pilote est + chargé (i.e., au moment de la requête initiale). Le système + d'exploitation BS2000 affiche un message après avoir correctement + chargé le catalogue de messages, qui sera envoyé au fichier + d'erreurs Apache. BS2000 ne permet pas la suppression de ce + message, qui va remplir progressivement ce fichier. + + + Assurez vous que la librairie SESAM OML PLAM et le fichier de + configuration SESAM sont accessibles par l'utilisateur qui + fait tourner le serveur web. Sinon, le serveur ne sera pas + capable de charger le pilote, ou d'appeler les fonctions + SESAM. L'accès à la base doit être donné à cet utilisateur. + Sinon, les connexions SESAM échoueront. - Cursor Types + Types de curseurs - The result cursors which are allocated for SQL "select type" - queries can be either "sequential" or "scrollable". Because - of the larger memory overhead needed by "scrollable" cursors, - the default is "sequential". - - - When using "scrollable" cursors, the cursor can be freely - positioned on the result set. For each "scrollable" query, - there are global default values for the scrolling type - (initialized to: SESAM_SEEK_NEXT) and - the scrolling offset which can either be set once - by sesam_seek_row or - each time when fetching a row using - sesam_fetch_row. When fetching a row - using a "scrollable" cursor, the following post-processing is - done for the global default values for the scrolling type - and scrolling offset: + Les curseurs de résultat sont alloués pour les requêtes + SQL de selection, peuvent être soit "séquentiels", soit + "à défilement" ("scrollable"). Les curseurs à défilement + sont beaucoup plus gourmands en mémoire, et le mode + par défaut est séquentiel. + + + Lorsque vous utilisez les curseurs à défilement, le curseur + peut être positionné librement dans le résultat. Pour chaque + requête à défilement, il existe des valeurs globales de + types de défilement (initialisée à :SESAM_SEEK_NEXT) + et la position peut être fixée une seule fois par + sesam_seek_row ou bien à chaque appel, + avec la fonction sesam_fetch_row. Lorsque + vous lisez une ligne avec un curseur à défilement, le traitement + suivant est effectué à partir des valeurs globales de type + de défilement et de position : Scrolled Cursor Post-Processing - Scroll Type - Action + Type de défilement + Action - - SESAM_SEEK_NEXT - none - - - SESAM_SEEK_PRIOR - none - - SESAM_SEEK_FIRST - set scroll type to - SESAM_SEEK_NEXT + + SESAM_SEEK_NEXT + + aucun + + + + SESAM_SEEK_PRIOR + + aucun + + + + SESAM_SEEK_FIRST + + + le type de défilement devient SESAM_SEEK_NEXT + + + + + SESAM_SEEK_LAST + + + le type de défilement devient SESAM_SEEK_PRIOR + + + + + SESAM_SEEK_ABSOLUTE + + + incrémente automatiquement la valeur interne de position + + + + + SESAM_SEEK_RELATIVE + + + aucune. conserve les valeurs globales par défaut de + position, ce qui permet, par exemple de lire toutes + les 10 lignes, en arrière. + - - SESAM_SEEK_LAST - set scroll type to - SESAM_SEEK_PRIOR - - - SESAM_SEEK_ABSOLUTE - Auto-Increment internal offset value - - - SESAM_SEEK_RELATIVE - none. (maintain global default - offset value, which allows - for, e.g., fetching each 10th row backwards) - -
@@ -242,110 +285,130 @@ Porting note - Because in the PHP world it is natural to start indexes at zero - (rather than 1), some adaptions have been made to the SESAM - interface: whenever an indexed array is starting with index 1 - in the native SESAM interface, the PHP interface uses - index 0 as a starting point. E.g., when retrieving columns with - sesam_fetch_row, the first column has the - index 0, and the subsequent columns have indexes up to (but not - including) the column count ($array["count"]). - When porting SESAM applications from other high level languages - to PHP, be aware of this changed interface. Where appropriate, - the description of the respective php sesam functions include a - note that the index is zero based. + En PHP, il est naturel de commencer les index à zéro (plutôt + que 1), et quelques adaptations ont été faite pour l'interface + SESAM : à chaque fois qu'un tableau indexé commence à l'index 1 + en SESAM natif, l'interface PHP utilisera l'index 0 comme point de + départ. Par exemple, lorsque vous lisez des données avec + sesam_fetch_row, la première colonne + sera à l'index 0, et les suivantes suivront juqu'au nombre + de colonne (exclus) du résultat ($array["count"]). + Lors du portage d'applications depuis d'autres langage évolués vers + le PHP, soyez attentifs à ce changement. A chaque fois que + c'est nécessaire, la description d'une fonction PHP SESAM indique + que l'index du tableau commence à 0.
- Security concerns + Sécurité - When allowing access to the SESAM databases, the web server - user should only have as little privileges as possible. For most - databases, only read access privilege should be granted. - Depending on your usage scenario, add more access rights as - you see fit. Never allow full control to any database for - any user from the 'net! Restrict access to php scripts - which must administer the database by using password control - and/or SSL security. + Lorsque vous autorisez l'accès à une base de données SESAM, le + serveur web doit avoir le minimum de privilèges possible. Pour la + plus part des bases de données, seul le droit de lecture doit être + fourni. Suivant votre utilisation, ajoutez d'autres droits d'accès + au fur et à mesure de vos besoins. Ne donnez jamais le contrôle + total de vos bases à un utilisateur du web! Limitez l'accès aux + scripts PHP qui doivent administrer la base en utilisant un + mot de passe et/ou une sécurisation SSL. - Migration from other SQL databases + Migration d'une autre base SQL - No two SQL dialects are ever 100% compatible. When porting - SQL applications from other database interfaces to SESAM, - some adaption may be required. The following typical - differences should be noted: + Deux langage SQL ne sont jamais 100% compatibles. Lorsque vous portez + une application SQL depuis une autre interface vers SESAM, + certaines adaptation doivent être faîtes. Les différences suivantes + sont les plus courantes : - Vendor specific data types - Some vendor specific data types may have to be - replaced by standard SQL data types - (e.g., TEXT could be replaced by - VARCHAR(max. size)). - + + Types de données spécifiques + + + Certains types de données spécifiques à une base doivent être + remplacés par les types de données standard SQL. + (i.e., TEXT doit être remplacé par + VARCHAR(taille max)). + - Keywords as SQL identifiers - In SESAM (as in standard SQL), such identifiers must - be enclosed in double quotes (or renamed). + + Mots reservés comme identifiants SQL. + + + En SESAM (comme dans le standard SQL), les mots + reservés utilisés comme identifiants doivent être entourés + de guillements doubles (ou renommés). + - Display length in data types - SESAM data types have a precision, not a display - length. Instead of int(4) (intended use: - integers up to '9999'), SESAM requires simply - int for an implied size of 31 bits. Also, - the only datetime data types available in SESAM are: - DATE, TIME(3) and - TIMESTAMP(3). + + Taille d'affichage des données. + + + Les types de données SESAM ont une taille de stockage, mais + par de taille d'affichage. A la place de int(4) + (c'est à dire : les entiers jusqu'à '9999'), SESAM requiert simplement + int, pour une taille implicite de 31 bits. De même, + les seuls types de date disponible dans SESAM sont : + DATE, TIME(3) et + TIMESTAMP(3). - SQL types with vendor-specific - unsigned, zerofill, or - auto_increment attributes - Unsigned and - zerofill are not supported. - Auto_increment is automatic (use "INSERT ... - VALUES(*, ...)" instead of "... VALUES(0, - ...)" to take advantage of SESAM-implied - auto-increment. + + Les types de données unsigned (non signé), + zerofill (complété avec des zéros), ou + auto_increment + + + Unsigned et zerofill ne sont pas + supportés. Auto_increment est automatique + (utilisez "INSERT ... VALUES(*, ...)" au lieu de + "... VALUES(0,...)" pour profiter des auto-increment + implicites de SESAM. + - int ... DEFAULT '0000' - Numeric variables must not be initialized with - string constants. Use DEFAULT 0 - instead. To initialize variables of the datetime - SQL data types, the initialization string must be - prefixed with the respective type keyword, as in: - CREATE TABLE exmpl ( - xtime timestamp(3) DEFAULT TIMESTAMP '1970-01-01 00:00:00.000' NOT NULL - ); + + int ... DEFAULT '0000' + + + Les variables numériques ne doivent pas être initialisées + avec des constantes de type chaîne de caractères. Utilisez + DEFAULT 0 à la place. Pour initialiser une + date, la chaîne doit être préfixée avec le type de date + adapté, tel que : + CREATE TABLE exmpl (xtime timestamp(3) DEFAULT TIMESTAMP '1970-01-01 00:00:00.000' NOT NULL); - $count = xxxx_num_rows(); - Some databases promise to guess/estimate the - number of the rows in a query result, even though - the returned value is grossly incorrect. SESAM - does not know the number of rows in a query result - before actually fetching them. If you REALLY need - the count, try SELECT COUNT(...) WHERE - ..., it will tell you the number of hits. - A second query will (hopefully) return the results. + + $count = xxxx_num_rows(); + + Certaines bases de données essaient d'estimer le nombre + de lignes d'un résultat, même grossièrement approximativement. + SESAM ne connait pas le nombre de lignes avant de les + avoir lues lui-même. Si vous avez vraiment besoin de + les compter, utilisez la commande + SELECT COUNT(...) WHERE ..., qui vous dira + combien de lignes sont disponibles. Une deuxième requête + devrait vous retourner tous ces résultats. + - DROP TABLE thename; - In SESAM, in the DROP TABLE - command, the table name must be either followed by - the keyword RESTRICT or - CASCADE. When specifying - RESTRICT, an error is returned if - there are dependent objects (e.g., VIEWs), while with - CASCADE, dependent objects will be - deleted along with the specified table. + + DROP TABLE lenom; + + + Avec SESAM, dans la commande DROP TABLE, + le nom de la table doit être suivi du mot clé + RESTRICT ou CASCADE. Avec + RESTRICT, une erreur est retounrée si il y a des + objets dépendant (par exemple, des vues), tandis qu'avec + CASCADE, les objets dépendants seront + supprimés en même temps que la table. @@ -353,62 +416,61 @@ - Notes on the use of various SQL types + Notes sur l'utilisation de types SQL divers - SESAM does not currently support the BLOB type. A future - version of SESAM will have support for BLOB. + SESAM ne supporte pas le type BLOB. Une future version de + SESAM devra le faire. - At the PHP interface, the following type conversions are - automatically applied when retrieving SQL fields: + L'interface PHP effectue automatiquement les conversions suivantes lors + de la lecture de lignes de résultats SQL : - SQL to PHP Type Conversions + Conversion de type SQL vers PHP - SQL Type - PHP Type + Type SQL + Type PHP - SMALLINT, INTEGER - "integer" + SMALLINT, INTEGER + "integer" (entier) - NUMERIC, DECIMAL, FLOAT, REAL, DOUBLE - "double" + NUMERIC, DECIMAL, FLOAT, REAL, DOUBLE + "double" (nombre à virgule flottante) - DATE, TIME, TIMESTAMP - "string" + DATE, TIME, TIMESTAMP + "string"(chaîne de caractères) - VARCHAR, CHARACTER - "string" + VARCHAR, CHARACTER + "string"(chaîne de caractères)
- When retrieving a complete row, the result is returned as an - array. Empty fields are not filled in, so you will have to - check for the existence of the individual fields yourself - (use isset or - empty to test for empty fields). - That allows more user control over the appearance of empty - fields (than in the case of an empty string as the - representation of an empty field). + Lorsque vous lisez une ligne entière, le résultat est retourné + sous la forme d'un tableau. Les champs vides ne sont pas remplis, + et vous aurez à vérifier vous même l'existence des champs ( + (utilisez isset ou empty + pour tester les champs vides). Cela donne plus de contrôle à + l'utilisateur sur l'apparence des champs que si les champs + vides étaient représenté par des chaînes vides).
- Support of SESAM's "multiple fields" feature + Support des "champs multiples" de SESAM - The special "multiple fields" feature of SESAM allows a column to - consist of an array of fields. Such a "multiple field" column can - be created like this: + La fonctionnalité spéciale des "champs multiples" de SESAM permet + à une colonne de contenir un tableau de champs. Un tel "champs multiple" + peut être créé comme ceci : - Creating a "multiple field" column + Création d'une colonne de champs multiples CREATE TABLE multi_field_test ( @@ -417,39 +479,36 @@ ) - and can be filled in using: + et peut être remplie avec : - Filling a "multiple field" column + Affectation d'une colonne de type "champs multiple" INSERT INTO multi_field_test ( pkey, multi(2..3) ) VALUES ( 'Second', <'first_val','second_val'>) - Note that (like in this case) leading empty sub-fields are ignored, - and the filled-in values are collapsed, so that in the above - example the result will appear as multi(1..2) instead of - multi(2..3). + Notez que (comme c'est le cas ci-dessus), les sous-champs vides + initiaux sont ignorés, et que le tableau est alors compacté, ce qui + fait que l'exemple ci-dessus conduit à un tableau multi(1..2) au + lieu de multi(2..3). - When retrieving a result row, "multiple columns" are accessed like - "inlined" additional columns. In the example above, "pkey" will have - the index 0, and the three "multi(1..3)" columns will be accessible - as indices 1 through 3. + Lors de la lecture d'une ligne, les "champs multiples" sont mis en colonne. + Dans l'exemple ci-dessu, "pkey" prend l'index 0, et les trois colonnes + "multi(1..3)" sont accessibles depuis les index 1 à 3. - For specific SESAM details, please refer to - the SESAM/SQL-Server - documentation (english) or - the SESAM/SQL-Server documentation (german), - both available online, or use the respective manuals. + Pour de plus amples détails sur SESAM, reportez vous à la + documentation SESAM/SQL-Server en anglais + ou SESAM/SQL-Server en allemand, + disponibles toutes deux en ligne, ou en manuels. - sesam_connect - Open SESAM database connection + Ouvre une connexion SESAM Description @@ -462,55 +521,51 @@ - Returns TRUE if a connection to the SESAM database was made, or - FALSE on error. + sesam_connect retourne TRUE si une connexion + à la base SESAM a été faite, ou FALSE en cas d'erreur. - sesam_connect establishes a connection to an - SESAM database handler task. The connection is always - "persistant" in the sense that only the very first invocation will - actually load the driver from the configured SESAM OML PLAM - library. Subsequent calls will reuse the driver and will - immediately use the given catalog, schema, and user. + sesam_connect établit une connexion au serveur + SESAM. La connexion est toujours "persistante", en ce sens que + le pilote sera chargé par la première requête avec la librairie + SESAM OML PLAM. Les appels suivants réutiliseront le pilote chargé, + son catalogue catalog, son schéma + schema et son utilisateur user. - When creating a database, the "catalog" - name is specified in the - SESAM configuration directive //ADD-SQL-DATABASE-CATALOG-LIST - ENTRY-1 = *CATALOG(CATALOG-NAME = catalogname,...) + Lors de la création d'une base de données, le nom catalog + est spécifié dans les directives de configuration SESAM avec + la commande //ADD-SQL-DATABASE-CATALOG-LIST ENTRY-1 = *CATALOG(CATALOG-NAME = catalogname,...) - The "schema" references the desired - database schema (see SESAM handbook). + schema référence le schéma de base voulu + (voir dans le manuel SESAM). - The "user" argument references one of the - users which are allowed to access this - "catalog" / "schema" - combination. Note that "user" is completely - independent from both the system's user id's and from HTTP - user/password protection. It appears in the SESAM configuration - only. + user spéficie l'un des utilisateurs qui est + autorisé à accéder à la comibinaison catalog et/ou + schema. Notez que user est + complétement indépendant de l'utilisateur système et des protections + HTTP par mot de passe. Il n'apparait que dans la configuration SESAM. - See also sesam_disconnect. + Voir aussi sesam_disconnect. - Connect to a SESAM database + Connexion à une base SESAM <?php -if (! sesam_connect ("mycatalog", "myschema", "otto") - die("Unable to connect to SESAM"; +if (! sesam_connect ("moncatalogue", "monschema", "toto") + die("Impossible de se connecter à SESAM"); ?> - sesam_disconnect - Detach from SESAM connection + Déconnexion d'une base SESAM Description @@ -521,45 +576,46 @@ - Returns: always TRUE. + sesam_disconnect retourne toujours TRUE. - sesam_disconnect closes the logical link to a - SESAM database (without actually disconnecting and unloading the - driver). + sesam_disconnect ferme le lien logique à + la base de données SESAM (sans réellement déconnecter et + démonter le pilote). - Note that this isn't usually necessary, as the open connection is - automatically closed at the end of the script's execution. - Uncommitted data will be discarded, because an implicit - sesam_rollback is executed. + Notez que ceci n'est généralement pas nécessaire, car la connexion + ouverte est automatiquement fermée à la fin du script. Les + données qui ne seront pas validées seront alors annulées, + grâce à un sesam_rollback implicite. - sesam_disconnect will not close the - persistent link, it will only invalidate the currently defined - "catalog", "schema" - and "user" triple, so that any sesam - function called after sesam_disconnect will - fail. + sesam_disconnect ne ferme pas les connexions + persistantes : elle invalide simplement les catalogues + catalog, schéma schema + et utilisateur user courants, de manière à ce + que les prochains appels à des fonctions SESAM échouent. - See also: sesam_connect. + Voir aussi : sesam_connect. - Closing a SESAM connection + Déconnexion d'une base SESAM -if (sesam_connect ("mycatalog", "myschema", "otto")) { -... some queries and stuff ... -sesam_disconnect(); } +<?php +if (sesam_connect ("moncatalogue", "monschema", "toto")) { +... quelques requêtes et d'autres trucs ... +sesam_disconnect(); +} +?> - sesam_settransaction - Set SESAM transaction parameters + Modifie les paramètres de transaction SESAM Description @@ -571,94 +627,98 @@ - Returns: TRUE if the values are valid, and the - settransaction operation was successful, - FALSE otherwise. + sesam_settransaction retourne TRUE si les + valeurs sont valides et que a modification a été + réussie. FALSE sinon. - sesam_settransaction overrides the default - values for the "isolation level" and "read-only" transaction - parameters (which are set in the SESAM configuration file), in - order to optimize subsequent queries and guarantee database - consistency. The overridden values are used for the next transaction - only. + sesam_settransaction remplace les valeurs par + défaut du niveau d'isolation ("isolation level") et de lecture + seule ("read-only") fixée par le fichier de configuration SESAM), + afin d'optimiser les requêtes ultérieures et garantir la cohérence + de la base. Ces valeurs ne sont utilisées que pour la prochaine + transaction. - sesam_settransaction can only be called before - starting a transaction, not after the transaction has been started - already. + sesam_settransaction ne peut être appelée qu'avant + le début de la transaction. Elle est inefficace si la transaction a + déjà commencé. - To simplify the use in php scripts, the following constants have - been predefined in php (see SESAM handbook for detailed - explanation of the semantics): + Pour simplifier l'utilisation de cette fonction dans les scripts PHP, + les constantes suivantes ont été définies en PHP (reportez vous au + manuel SESAM pour avoir des détails sur leur signification) : - Valid values for <parameter>"Isolation_Level"</parameter> parameter + + Valeurs valides pour le paramètre <parameter>Isolation_Level</parameter> + - Value - Constant - Meaning + Valeur + Constante + Signification - 1 - SESAM_TXISOL_READ_UNCOMMITTED - Read Uncommitted + 1 + SESAM_TXISOL_READ_UNCOMMITTED + Lecture sans validation - 2 - SESAM_TXISOL_READ_COMMITTED - Read Committed + 2 + SESAM_TXISOL_READ_COMMITTED + Lecutre avec validation - 3 - SESAM_TXISOL_REPEATABLE_READ - Repeatable Read + 3 + SESAM_TXISOL_REPEATABLE_READ + Lecture récurente - 4 - SESAM_TXISOL_SERIALIZABLE - Serializable + 4 + SESAM_TXISOL_SERIALIZABLE + Sérialisable
- Valid values for <parameter>"Read_Only"</parameter> parameter + + Valeurs valides pour le paramètre <parameter>Read_Only</parameter> + - Value - Constant - Meaning + Valeur + Constante + Signification - 0 - SESAM_TXREAD_READWRITE - Read/Write + 0 + SESAM_TXREAD_READWRITE + Lecture/écriture - 1 - SESAM_TXREAD_READONLY - Read-Only + 1 + SESAM_TXREAD_READONLY + Lecture seule
- The values set by sesam_settransaction will - override the default setting specified in the SESAM configuration file. + Les valeurs modifiées par sesam_settransaction + remplaceront les valeurs par défaut spécifiée dans + le fichier de configuration SESAM. - Setting SESAM transaction parameters + Modifier les paramètres de configuration SESAM <?php sesam_settransaction(SESAM_TXISOL_REPEATABLE_READ, @@ -669,11 +729,10 @@
- sesam_commit - Commit pending updates to the SESAM database + Valide la transaction SESAM en cours Description @@ -684,33 +743,33 @@ - Returns: TRUE on success, - FALSE on errors + sesam_commit retourne TRUE en cas de succès + et FALSE sinon. - sesam_commit commits any pending updates to - the database. + sesam_commit valide toutes les modifications + de tables en attente sur la base. - Note that there is no "auto-commit" feature as in other databases, - as it could lead to accidental data loss. Uncommitted data at - the end of the current script (or when calling - sesam_disconnect) will be discarded by an - implied sesam_rollback call. + Notez qu'il n'y a pas de mode "auto-commit", comme dans d'autres + bases de données, car cela peut conduire à une perte accidentelle + de données. Les données non valides à la fin d'un script (ou au + moment de l'appel de sesam_disconnect) seront + annulées par un appel implicite à sesam_rollback. - See also: sesam_rollback. + Voir aussi : sesam_rollback. - Committing an update to the SESAM database + Valider une transaction SESAM <?php -if (sesam_connect ("mycatalog", "myschema", "otto")) { +if (sesam_connect ("moncatalogue", "monschema", "toto")) { if (!sesam_execimm("INSERT INTO mytable VALUES (*, 'Small Test', <0, 8, 15>)")) - die("insert failed"); + die("insertion manquée"); if (!sesam_commit()) - die("commit failed"); + die("insertion réussie"); } ?> @@ -718,11 +777,10 @@ - sesam_rollback - Discard any pending updates to the SESAM database + Annule une transaction SESAM Description @@ -733,29 +791,29 @@ - Returns: TRUE on success, - FALSE on errors + sesam_rollback retourne TRUE en cas de succès + et FALSE en cas d'erreur. - sesam_rollback discards any pending updates to - the database. Also affected are result cursors and result - descriptors. + sesam_rollback annule toutes les modifications + en cours sur la base. Les curseurs de résultat et les descripteurs + de résultats seront affectés. - At the end of each script, and as part of the - sesam_disconnect function, an implied - sesam_rollback is executed, discarding any - pending changes to the database. + A la fin de chaque script, et dans chaque appel à + sesam_disconnect, un appel implicite à + sesam_rollback est fait, annulant toutes + les transactions non validées dans la base. - See also: sesam_commit. + Voir aussi : sesam_commit. - Discarding an update to the SESAM database + Annulation d'une transaction SESAM <?php -if (sesam_connect ("mycatalog", "myschema", "otto")) { - if (sesam_execimm("INSERT INTO mytable VALUES (*, 'Small Test', <0, 8, 15>)") - && sesam_execimm("INSERT INTO othertable VALUES (*, 'Another Test', 1)")) +if (sesam_connect ("moncatalogue", "monschema", "toto")) { + if (sesam_execimm("INSERT INTO matable VALUES (*, 'Petit Test', <0, 8, 15>)") + && sesam_execimm("INSERT INTO autretable VALUES (*, 'Autre Test', 1)")) sesam_commit(); else sesam_rollback(); @@ -766,11 +824,10 @@ - sesam_execimm - Execute an "immediate" SQL-statement + Exécute immédiatement une requête SQL Description @@ -781,54 +838,55 @@ - Returns: A SESAM "result identifier" on success, or - FALSE on error. + sesam_execimm retourne un identifiant de + résultat SESAM en cas de succès, et FALSE sinon. - sesam_execimm executes an "immediate" - statement (i.e., a statement like UPDATE, INSERT or DELETE which - returns no result, and has no INPUT or OUTPUT variables). - "select type" queries can not be used with - sesam_execimm. Sets the - affected_rows value for retrieval by the - sesam_affected_rows function. - - - Note that sesam_query can handle both - "immediate" and "select-type" queries. Use - sesam_execimm only if you know beforehand - what type of statement will be executed. - An attempt to use SELECT type queries with - sesam_execimm will return + sesam_execimm exécute immédiatement la requête + query (i.e., une requête de type + UPDATE, INSERT ou DELETE qui ne retourne aucun résultat, et + n'a aucune variables d'entrées ou de sorties). Les requêtes + de types "SELECT" ne peuvent pas être utilisées avec la fonctoin + sesam_execimm. sesam_execimm + mofidie la valeur affected_rows, pour + lecture ultérieure avec sesam_affected_rows. + + + Notez que sesam_query peut gérer les requêtes + immédiates et les requêtes de selection. Utilisez + sesam_execimm uniquement si vous + connaissez le type de requête auparavant. Une tentative de + requête de selection avec sesam_execimm retournera $err["sqlstate"] == "42SBW". - The returned "result identifier" can not be used for retrieving - anything but the sesam_affected_rows; it is - only returned for symmetry with the - sesam_query function. + L'identifiant de résultat retourné ne peut pas être utilisé + pour lire quoi que ce soit, mais il peut être passé à + sesam_affected_rows; il n'est retourné que + pour symétrie avec la fonction sesam_query. -$stmt = "INSERT INTO mytable VALUES('one', 'two')"; +<?php +$stmt = "INSERT INTO matable VALUES('un', 'deux')"; $result = sesam_execimm ($stmt); $err = sesam_diagnostic(); print("sqlstate = ".$err["sqlstate"]."\n". - "Affected rows = ".$err["rowcount"]." == ". + "Nombre de lignes affectées = ".$err["rowcount"]." == ". sesam_affected_rows($result)."\n"); +?> - See also: sesam_query and + Voir aussi : sesam_query et sesam_affected_rows. - sesam_query - Perform a SESAM SQL query and prepare the result + Exécute une requête SESAM Description @@ -842,52 +900,50 @@ - Returns: A SESAM "result identifier" on success, or - FALSE on error. + sesam_query retourne un identifiant de résultat + SESAM en cas de succès, ou FALSE en cas d'erreur. - A "result_id" resource is used by other functions to retrieve the - query results. + L'identifiant de résultat est utilisé par d'autres fonctions + sesam pour lire les valeurs. - sesam_query sends a query to the currently - active database on the server. It can execute both - "immediate" SQL statements and "select type" queries. If an - "immediate" statement is executed, then no cursor is allocated, - and any subsequent sesam_fetch_row or - sesam_fetch_result call will return an empty - result (zero columns, indicating end-of-result). - For "select type" statements, a result descriptor and a - (scrollable or sequential, depending on the optional - boolean scrollable parameter) cursor will - be allocated. If scrollable is omitted, - the cursor will be sequential. + sesam_query envoie une requête à la base + active. Elle peut exécuter aussi bien une requête immédiate + (DELETE, UPDATE ou INSERT), ou une requête de selection. + Si une requête immédiate est exécutée, aucun curseur n'est + alloué, et il ne sera pas possible d'utiliser les fonctions + sesam_fetch_row ou + sesam_fetch_result. Pour les requêtes de + selection, un descripteur de résultat et un curseur + (scrollable ou séquentiel, suivant le paramètre optionnel + scrollable passé) sear alloué. + Si scrollable est omis, le curseur sera + séquentiel. - When using "scrollable" cursors, the cursor can be freely - positioned on the result set. For each "scrollable" query, - there are global default values for the scrolling type - (initialized to: SESAM_SEEK_NEXT) and - the scrolling offset which can either be set once - by sesam_seek_row or - each time when fetching a row using - sesam_fetch_row. + Lorsque vous utilisez les curseurs à défilement, le curseur + peut être positionné librement dans le résultat. Pour chaque + requête à défilement, il existe des valeurs globales de + types de défilement (initialisée à :SESAM_SEEK_NEXT) + et la position peut être fixée une seule fois par + sesam_seek_row ou bien à chaque appel, + avec la fonction sesam_fetch_row. - For "immediate" statements, the number of affected - rows is saved for retrieval by the - sesam_affected_rows function. + Pour les requêtes immédiates, le nombre de lignes affectées est + sauvé, et est accessible par la fonction sesam_affected_rows. - See also: sesam_fetch_row and + Voir aussi : sesam_fetch_row et sesam_fetch_result. - Show all rows of the "phone" table as a html table + Liste toutes les lignes de table "phone" sous forme de table HTML <?php -if (!sesam_connect("phonedb", "demo", "otto")) +if (!sesam_connect("phonedb", "demo", "toto")) die("cannot connect"); $result = sesam_query("select * from phone"); if (!$result) { @@ -895,13 +951,13 @@ die($err["errmsg"]); } echo "<TABLE BORDER>\n"; -// Add title header with column names above the result: +// Ajoute l'entête de titre comme nom de colonne if ($cols = sesam_field_array($result)) { echo " <TR><TH COLSPAN=".$cols["count"].">Result:</TH></TR>\n"; echo " <TR>\n"; for ($col = 0; $col < $cols["count"]; ++$col) { $colattr = $cols[$col]; - /* Span the table head over SESAM's "Multiple Fields": */ + /* étend les entêtes de la table au dessus des champs multiples */ if ($colattr["count"] > 1) { echo " <TH COLSPAN=".$colattr["count"].">".$colattr["name"]. "(1..".$colattr["count"].")</TH>\n"; @@ -912,9 +968,8 @@ } echo " </TR>\n"; } - do { - // Fetch the result in chunks of 100 rows max. + // Lit les résultats par bloc de 100 $ok = sesam_fetch_result($result,100); for ($row=0; $row < $ok["rows"]; ++$row) { echo " <TR>\n"; @@ -926,9 +981,9 @@ } echo " </TR>\n"; } -} while ($ok["truncated"]); // while there may be more data +} while ($ok["truncated"]); // tant qu'il a y encore des données echo "</TABLE>\n"; -// free result id +// libère les ressources sesam_free_result($result); ?> @@ -936,11 +991,10 @@ - sesam_num_fields - Return the number of fields/columns in a result set + Retourne le nombre de colonne dans un résultat Description @@ -950,32 +1004,30 @@ string result_id + + Après avoir appelé sesam_query avec une requête + de selection, sesam_num_fields indique le + nombre de colonnes du résultat identifié par + result_id. Retourne FALSE en cas d'erreur. + - After calling sesam_query with a - "select type" query, this function gives you the - number of columns in the result. - Returns an integer describing the total number of columns (aka. - fields) in the current result_id result - set or FALSE on error. - - - For "immediate" statements, the value zero is returned. The SESAM - "multiple field" columns count as their respective dimension, - i.e., a three-column "multiple field" counts as three columns. - - - See also: sesam_query and - sesam_field_array for a way to distinguish - between "multiple field" columns and regular columns. + Pour les requêtes immédiates, la valeur zéro est retournée. Les + champs multiples SESAM compte autant que leur taille respective, + c'est à dire qu'un champs multiple de trois colonnes compte + comme trois colonne. + + Voir aussi : sesam_query et + sesam_field_array pour savoir distinguer + les champs multiples des colonnes standard. + - sesam_field_name - Return one column name of the result set + Retourne le nom d'une colonne @@ -988,28 +1040,30 @@ - Returns the name of a field (i.e., the column name) in the result - set, or FALSE on error. + sesam_field_name retourne le nom du champs + index dans le résultat identifié par + result_id, ou FALSE en cas d'erreur. + + + Pour les requêtes immédiates, ou les colonnes dynamiques, + une chaîne vide est retournée. + + + + Les colonnes sont indexées à partir de 0, et non pas 1. + + + + Voir aussi : sesam_field_array. Cette fonction + fournit une interface simple aux noms et types de colonnes, et + permet la detection des champs multiples. - - For "immediate" queries, or for dynamic columns, an empty string - is returned. - - - The column index is zero-based, not one-based as in SESAM. - - - See also: sesam_field_array. It provides an - easier interface to access the column names and types, and allows - for detection of "multiple fields". - - sesam_diagnostic - Return status information for last SESAM call + Retourne l'état de la dernière requête SESAM Description @@ -1020,48 +1074,53 @@ - Returns an associative array of status and return codes for the - last SQL query/statement/command. - Elements of the array are: + sesam_diagnostic retourne un tableau associatif avec + l'état et les codes de la dernière requête SQL. + Les éléments du tableau sont : - Status information returned by <function>sesam_diagnostic</function> + Informations retournées par <function>sesam_diagnostic</function> - Element - Contents + Elément + Contenu - $array["sqlstate"] - 5 digit SQL return code (see the SESAM manual for the - description of the possible values of SQLSTATE) + $array["sqlstate"] + + code d'erreur à 5 chiffres (voir le manuel SESAM pour obtenir une + description des valeurs possibles de SQLSTATE) + - $array["rowcount"] - number of affected rows in last update/insert/delete - (set after "immediate" statements only) + $array["rowcount"] + + nombre de lignes affectées dans la dernière requête immédiate + (update/insert/delete) : uniquement après une requête immédiate. - $array["errmsg"] - "human readable" error message string - (set after errors only) + $array["errmsg"] + + message d'erreur lisible : uniquement après une erreur - $array["errcol"] - error column number of previous error - (0-based; or -1 if undefined. Set after errors only) + $array["errcol"] + + numéro de colonne de la dernière erreur + (indexée à partir de 0, -1 si indéfinies. uniquement après une erreur). - $array["errlin"] - error line number of previous error - (0-based; or -1 if undefined. Set after errors only) + $array["errlin"] + + numéro de ligne de la dernière erreur + (indexée à partir de 0, -1 si indéfinies. uniquement après une erreur). @@ -1069,20 +1128,19 @@
- In the following example, a syntax error (E SEW42AE ILLEGAL - CHARACTER) is displayed by including the offending SQL statement - and pointing to the error location: + Dans l'exemple suivant, une erreur de syntaxe (E SEW42AE ILLEGAL CHARACTER) + est affichée avec la requête SQL, et en désignant la position + de l'erreur : - Displaying SESAM error messages with error position + Afficher une erreur SESAM <?php -// Function which prints a formatted error message, -// displaying a pointer to the syntax error in the -// SQL statement +// Fonction qui affiche un message d'erreur formaté +// en affichant la position de l'erreur dans le message d'erreur function PrintReturncode($exec_str) { $err = Sesam_Diagnostic(); - $colspan=4; // 4 cols for: sqlstate, errlin, errcol, rowcount + $colspan=4; // 4 colonnes pour : sqlstate, errlin, errcol, rowcount if ($err["errlin"] == -1) --$colspan; if ($err["errcol"] == -1) @@ -1131,10 +1189,8 @@ echo "</TR>\n"; echo "</TABLE>\n"; } - -if (!sesam_connect("mycatalog", "phoneno", "otto")) +if (!sesam_connect("moncatalogue", "phoneno", "toto")) die("cannot connect"); - $stmt = "SELECT * FROM phone\n". " WHERE@ LASTNAME='KRAEMER'\n". " ORDER BY FIRSTNAME"; @@ -1145,16 +1201,15 @@ - See also: sesam_errormsg for simple access to the - error string only + Voir aussi : sesam_errormsg pour un accès + simplifié aux messages d'erreur.
- sesam_fetch_result - Return all or part of a query result + Retourne tout ou partie d'un résultat SESAM Description @@ -1170,82 +1225,83 @@ - Returns a mixed array with the query result entries, optionally - limited to a maximum of max_rows rows. - Note that both row and column indexes are zero-based. + sesam_fetch_result retourne un tableau avec + les lignes du résultat identifié par result_id, + éventuellement limité à un maximum de max_rows + Noteaz que les lignes et les colonnes sont indexées à partir de 0. - Mixed result set returned by <function>sesam_fetch_result</function> + Résultat de <function>sesam_fetch_result</function> - Array Element - Contents + Elément du tableau + Contents - int $arr["count"] - number of columns in result set (or zero if this was an - "immediate" query) - - - int $arr["rows"] - number of rows in result set (between zero and - max_rows) - - - boolean $arr["truncated"] - TRUE if the number of rows was at least - max_rows, FALSE otherwise. Note - that even when this is TRUE, the next - sesam_fetch_result call may return - zero rows because there are no more result entries. - - - - mixed $arr[col][row] - result data for all the fields at - row(row) and - column(col), (where the integer - index row is - between 0 and $arr["rows"]-1, and - col is between 0 - and $arr["count"]-1). Fields - may be empty, so you must check for the existence of a - field by using the php isset - function. The type of the returned fields depend on the - respective SQL type declared for its column (see SESAM overview for the - conversions applied). SESAM "multiple - fields" are "inlined" and treated like a sequence - of columns. + int $arr["count"] + + Nombre de colonnes dans le résultat (ou zéro si c'était + une requête immédiate). + + + + int $arr["rows"] + + Nombre de ligne dans le résultat (entre zéro + et max_rows) + + + + boolean $arr["truncated"] + + TRUE si le nombre de ligne était d'au moins + max_rows, FALSE sinon. Notez que + même si cette valeur est à TRUE, le prochain appel à + sesam_fetch_result peut retourner + aucune ligne parce qu'il n'y a plus d'entrées. + + + + mixed $arr[col][row] + + les valeurs du résultat à la ligne row et + colonne col. Le résultat est un tableau + multidimensionnel. row va de 0 à + $arr["rows"]-1, et col + de 0 à $arr["count"]-1). Les champs peuvent être + vides : vous devez vérifier leur existence avec la fonction + isset. Le type retourné dépend du type + SQL déclaré pour cette colonne (voir + Introduction SESAM pour + connaître les conversions utilisées). Les champs multiples + SESAM sont traités comme des séquences de colonnes.
- Note that the amount of memory used up by a large query may be - gigantic. Use the max_rows parameter to - limit the maximum number of rows returned, unless you are - absolutely sure that your result will not use up all available - memory. + Notez que la quantité de mémoire utilisée par des requêtes peut + se révéler gigantesque. Utilisez alors max_rows + pour limiter le nombre maximum de lignes retournées, à moins que + vous ne soyez absolument sûr que votre résultat ne consommera + pas toute la mémoire disponible.
- See also: sesam_fetch_row, and - sesam_field_array to check for "multiple - fields". See the description of the - sesam_query function for a complete example - using sesam_fetch_result. + Voir aussi : sesam_fetch_row, et + sesam_field_array pour vérifier les + champs multiples. Voyez sesam_query pour une + exemple complet avec sesam_fetch_result.
- sesam_affected_rows - Get number of rows affected by an immediate query + Lit le nombre de lignes affectées par une requête immédiate Description @@ -1258,43 +1314,40 @@ - result_id is a valid result id returned by - sesam_query. + result_id est un identifiant valide de résultat, + retourné par sesam_query. - Returns the number of rows affected by a query associated with - result_id. + sesam_affected_rows retourne le nombre de lignes + affectées par la requête associée à result_id. - The sesam_affected_rows function can only - return useful values when used in combination with "immediate" SQL - statements (updating operations like INSERT, - UPDATE and DELETE) because - SESAM does not deliver any "affected rows" information for "select - type" queries. - The number returned is the number of affected rows. + sesam_affected_rows ne retourne de valeur cohérente + que lorsqu'utilisée avec une requête immédiate (INSERT/UPDATE/DELETE), + car SESAM ne fournit aucune information de nombre de lignes affectées + pour les requêtes de selection. - See also: sesam_query and + Voir aussi : sesam_query et sesam_execimm +<?php $result = sesam_execimm ("DELETE FROM PHONE WHERE LASTNAME = '".strtoupper($name)."'"); if (! $result) { ... error ... } -print sesam_affected_rows($result). - " entries with last name ".$name." deleted.\n" +print sesam_affected_rows($result)." entries with last name ".$name." deleted.\n"; +?> - sesam_errormsg - Returns error message of last SESAM call + retourne le message d'erreur Description @@ -1305,27 +1358,28 @@ - Returns the SESAM error message associated with the most - recent SESAM error. + sesam_errormsg retourne le message d'erreur SESAM + associé à la dernière requête SQL. +<?php if (!sesam_execimm($stmt)) printf("%s<br>\n", sesam_errormsg()); +?> - See also: sesam_diagnostic for the full set - of SESAM SQL status information + Voir aussi : sesam_diagnostic pour la liste + complète des états de requêtes SQL. - sesam_field_array - Return meta information about individual columns in a result + Retourne des informations sur une colonne @@ -1341,167 +1395,159 @@ sesam_query. - Returns a mixed associative/indexed array with meta information - (column name, type, precision, ...) about individual columns of the result after the - query associated with result_id. + sesam_field_array retourne un tableau contenant + les informations (nom de colonne, type, précision...) sur une colonne + dans le résultat associé à result_id. - Mixed result set returned by <function>sesam_field_array</function> + Informations retournées par <function>sesam_field_array</function> - Array Element - Contents + Index + Contenu - int $arr["count"] - Total number of columns in result set (or zero if - this was an "immediate" query). SESAM "multiple - fields" are "inlined" and treated like the - respective number of columns. - - - - string $arr[col]["name"] - column name for column(col), - where col is between 0 and - $arr["count"]-1. The returned - value can be the empty string (for dynamically - computed columns). SESAM "multiple fields" are - "inlined" and treated like the respective number of - columns, each with the same column name. + int $arr["count"] + + Nombre total de colonnes dans le résultat (ou zéro si + la requête était immédiate). Les champs multiples de + SESAM sont linéarisés, et traités comme autant de colonnes. + + + + string $arr[col]["name"] + + Le nom de la colonne col, + avec col qui vaut entre 0 et + $arr["count"]-1. La valeur retournée + peut être une chaîne vide (pour les colonnes dynamiquement + générées). Les champs multiples SESAM sont linéarisés, et + traités comme autant de colonnes, avec le même nom. - string $arr[col]["count"] - The "count" attribute describes the repetition - factor when the column has been declared as a - "multiple field". Usually, the "count" attribute is - 1. The first column of a "multiple field" column - however contains the number of repetitions (the - second and following column of the "multiple field" - contain a "count" attribute of 1). This can be used - to detect "multiple fields" in the result set. See - the example shown in the - sesam_query description for a - sample use of the "count" attribute. + string $arr[col]["count"] + + L'attribut "count" décrit le facteur de répétition + quand la colonne a été déclarée comme un champs multiple. + Généralement, cet attribut est à 1. La première colonne + d'un champs multiple contient le nombre de répétitions, + tandis que les colonnes suivantes ont un facteur + de répétition mis à 1. Ceci peut être utilisé pour + detecter les champs multiples. Reportez vous à l'exemple + de la fonction sesam_query pour avoir + un exemple d'utilisation. - string $arr[col]["type"] - php variable type of the data for - column(col), where - col is between 0 - and $arr["count"]-1. The returned - value can be one of - - - "integer" - - - "double" - - - "string" - - - depending on the SQL type of the result. SESAM - "multiple fields" are "inlined" and treated like the - respective number of columns, each with the same php - type. + string $arr[col]["type"] + + Type de variable PHP pour les données de la colonne + col, où col vaut de + 0 à $arr["count"]-1. La valeur retournée + peut être l'une de celles-ci : + + + "integer" + + + "double" + + + "string" + + + , suivant le type de données SQL. Les champs multiples + SESAM sont linéarisés et traités comme autant de colonnes + ayant le même type PHP. - string $arr[col]["sqltype"] - SQL variable type of the column data for - column(col), where - col is between 0 - and $arr["count"]-1. The returned - value can be one of - - - "CHARACTER" - - - "VARCHAR" - - - "NUMERIC" - - - "DECIMAL" - - - "INTEGER" - - - "SMALLINT" - - - "FLOAT" - - - "REAL" - - - "DOUBLE" - - - "DATE" - - - "TIME" - - - "TIMESTAMP" - - - describing the SQL type of the result. SESAM - "multiple fields" are "inlined" and treated like the - respective number of columns, each with the same SQL - type. + string $arr[col]["sqltype"] + + Type dedonnées SQL de la colonne col, où + col vaut de 0 à $arr["count"]-1. + La valeur retournée peut être l'une de celle-ci : + + + "CHARACTER" + + + "VARCHAR" + + + "NUMERIC" + + + "DECIMAL" + + + "INTEGER" + + + "SMALLINT" + + + "FLOAT" + + + "REAL" + + + "DOUBLE" + + + "DATE" + + + "TIME" + + + "TIMESTAMP" + + + , décrivant le type de données SQL. Les champs multiples SESAM + sont linéarisés et traités comme autant de colonnes du même type. - string $arr[col]["length"] - The SQL "length" attribute of the SQL variable in - column(col), where - col is between 0 and - $arr["count"]-1. The "length" - attribute is used with "CHARACTER" and "VARCHAR" SQL - types to specify the (maximum) length of the string - variable. SESAM "multiple fields" are "inlined" and - treated like the respective number of columns, each with - the same length attribute. + string $arr[col]["length"] + + La taille de l'attribut, au sens SQL, de la colonne + col, où col vaut de 0 à + $arr["count"]-1. La longueur est + utilisée avec les champs "CHARACTER" et "VARCHAR", pour + spécifier la taille maximale de la colonne. Les champs multiples + SESAM sont linéarisés et traités comme autant de colonnes + ayant la même taille SQL. - string $arr[col]["precision"] - The "precision" attribute of the SQL variable in - column(col), where - col is between 0 and - $arr["count"]-1. The "precision" - attribute is used with numeric and time data types. - SESAM "multiple fields" are "inlined" and - treated like the respective number of columns, each with - the same precision attribute. + string $arr[col]["precision"] + + La précision de la colonne col, au sens SQL, + où col vaut de 0 à + $arr["count"]-1. La précision est + utilisée avec les champs numériques et de date. + Les champs multiples SESAM sont linéarisés et traités + comme autant de colonnes ayant la même précision SQL. - string $arr[col]["scale"] - The "scale" attribute of the SQL variable in - column(col), where - col is between 0 and - $arr["count"]-1. The "scale" - attribute is used with numeric data types. - SESAM "multiple fields" are "inlined" and - treated like the respective number of columns, each with - the same scale attribute. + string $arr[col]["scale"] + + L'échelle de la colonne col, au sens SQL, + où col vaut de 0 à + $arr["count"]-1. L'échelle est + utilisée avec les champs numériques. + Les champs multiples SESAM sont linéarisés et traités + comme autant de colonnes ayant la même échelle SQL. @@ -1509,16 +1555,15 @@
- See the sesam_query function - for an example of the sesam_field_array use. + Voir aussi sesam_query, pour un exemple + d'utilisation de sesam_field_array.
- sesam_fetch_row - Fetch one row as an array + Lit une ligne dans un tableau Description @@ -1535,132 +1580,138 @@ - Returns an array that corresponds to the fetched row, - or FALSE if there are no more rows. + sesam_fetch_row retourne un tableau qui correspond à + la ligne lue dans le résultat result_id, + ou FALSE s'il n'y a plus de ligne. - The number of columns in the result set is returned in an - associative array element $array["count"]. Because some of the - result columns may be empty, the - count function can not be used on - the result row returned by - sesam_fetch_row. + +