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
+ SESAMSESAM
-
- 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 SESAMDescription
@@ -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 SESAMDescription
@@ -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 SESAMDescription
@@ -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 "Read_Only" parameter
+
+ Valeurs valides pour le paramètre Read_Only
+
- 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 coursDescription
@@ -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 SESAMDescription
@@ -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 SQLDescription
@@ -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 SESAMDescription
@@ -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ésultatDescription
@@ -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 SESAMDescription
@@ -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 sesam_diagnostic
+ Informations retournées par sesam_diagnostic
- 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 SESAMDescription
@@ -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 sesam_fetch_result
+ Résultat de sesam_fetch_result
- 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édiateDescription
@@ -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'erreurDescription
@@ -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 sesam_field_array
+ Informations retournées par sesam_field_array
- 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 tableauDescription
@@ -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.
+
+