cvs: phpdoc /fr/functions fbsql.xml
| From: | Damien Seguy | Date: | Mon, 02 Jul 2001 11:01:23 +0000 |
| Subject: | cvs: phpdoc /fr/functions fbsql.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969335808@lists.php.net to get a copy of this message | ||
dams Mon Jul 2 07:01:23 2001 EDT
Added files:
/phpdoc/fr/functions fbsql.xml
Log:
Initial revision for FBSQL.
Index: phpdoc/fr/functions/fbsql.xml +++ phpdoc/fr/functions/fbsql.xml <reference id="ref.fbsql"> <title>FrontBase</title> <titleabbrev>FrontBase</titleabbrev> <partintro> <simpara> Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Pour pouvoir les utiliser, vous devez compiler PHP avec le support fbsql en utilisant l'option <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql</option></link>. Si vous utilisez cette option sans spécifier le chemin jusqu'à l'installation fbsql, PHP recherchera les librairies du client fbsql dans les dossiers habituels, sur votre système. Les utilisateurs qui ont installé FrontBase dans un dossier non standard doivent spécifier le chemin comme ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. Cela va indiquer à PHP le bon emplacement des librairies de FrontBase, et éviter les conflits. </simpara> <simpara> Plus d'informations sur FrontBase sont disponibles à <ulink url="&url.fbsql;">&url.fbsql;</ulink>. </simpara> <simpara> La documentation complète de FrontBase est disponible à <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. </simpara> <simpara> Le support de Frontbase a été ajouté en PHP 4.0.6. </simpara> </partintro> <refentry id="function.fbsql-affected-rows"> <refnamediv> <refname>fbsql_affected_rows</refname> <refpurpose> Lit le nombre de ligne affectées par la dernière requête </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_affected_rows</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_affected_rows</function> retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, effectuée avec la connexion représentée par <parameter>link_identifier</parameter>. Si ce dernier n'est pas spécifié, c'est la dernière connexion ouverte par <function>fbsql_connect</function> qui sera utilisée. </para> <note> <para> Si vous utilisez les transactions, vous devez appeler <function>fbsql_affected_rows</function> après votre requête INSERT, UPDATE ou DELETE, mais pas après la validation. </para> </note> <para> Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes les lignes seront effacées, mais <function>fbsql_affected_rows</function> retournera 0. </para> <note> <para> Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les anciennes valeurs sont égales aux nouvelles. Cela fait que <function>fbsql_affected_rows</function> ne retournera pas le nombre de ligne traitées, mais le nombre de lignes affectées (modifiées) par la requête. </para> </note> <para> Si la dernière requête échoue, <function>fbsql_affected_rows</function> retourne -1. </para> <para> Voir aussi <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-autocommit"> <refnamediv> <refname>fbsql_autocommit</refname> <refpurpose>Active ou désactive la validation automatique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_autocommit</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter> </paramdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_autocommit</function> retourne l'état courant de la validation automatique, pour la connexion <parameter>link_identifier</parameter>. Si le paramètre <parameter>OnOff</parameter> est fourni, la validation automatique sera remplacée par sa valeur (un booléen). </para> </refsect1> </refentry> <refentry id="function.fbsql-change-user"> <refnamediv> <refname>fbsql_change_user</refname> <refpurpose> Change le nom d'utilisateur de la session active </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_change_user</function></funcdef> <paramdef>string <parameter>user</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>string <parameter> <optional>database</optional> </parameter> </paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_change_user</function> change le nom de l'utilisateur courant sur la session active courante, ou sur <parameter>link_identifier</parameter>. Si une base de données est spécifiée avec le paramètre <parameter>database</parameter>, elle deviendra la base par défaut du nouvel utilisateur. Le nouvel utilisateur doit être spécifié par son login (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). Si l'authentification échoue, la session courante restera ouverte. </para> </refsect1> </refentry> <refentry id="function.fbsql-close"> <refnamediv> <refname>fbsql_close</refname> <refpurpose>Ferme la connexion FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_close</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_close</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_close</function> ferme la connexion au serveur FrontBase associé à la ressource <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, c'est la dernière connexion ouverte qui sera fermée. </para> <para> Utiliser <function>fbsql_close</function> n'est pas nécessaire, car les liens non persistants seront automatiquement fermé à la fin du script. </para> <note> </note> <example> <title>Exemple avec <function>fbsql_close</function></title> <programlisting role="php"> <?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connecté!"); fbsql_close($link); ?> </programlisting> </example> <para> Voir aussi <function>fbsql_connect</function> et <function>fbsql_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-connect"> <refnamediv> <refname>fbsql_connect</refname> <refpurpose>Ouvre une connexion à un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_connect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>username</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>password</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_connect</function> retourne une ressource de connexion positive en cas de succès, ou un message d'erreur en cas d'échec. </para> <para> <function>fbsql_connect</function> établit une connexion avec un serveur FrontBase. Les valeur suivantes sont utilisées, en cas d'omission : <parameter>hostname</parameter> = 'NULL', <parameter>username</parameter> = '_SYSTEM' et <parameter>password</parameter> = "" (pas de mot de passe). </para> <para> Si un deuxième appel est fait à <function>fbsql_connect</function> avec les mêmes arguments, une nouvelle connexion ne sera pas générée, mais la connexion déjà ouverte sera reutilisée, et retournée. </para> <para> La connexion au serveur sera fermée dès la fin du scrpit, à moins qu'elle ne soit explicitement terminée plus tôt, avec la fonction <function>fbsql_close</function>. </para> <example> <title>Exemple avec <function>fbsql_connect</function></title> <programlisting role="php"> <?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connected successfully"); fbsql_close($link); ?> </programlisting> </example> <para> Voir aussi <function>fbsql_pconnect</function> et <function>fbsql_close</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-db"> <refnamediv> <refname>fbsql_create_db</refname> <refpurpose>Crée une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_create_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_db</function> crée une nouvelle base de données, nommée <parameter>database_name</parameter>, sur le serveur repéré par la ressource <parameter>link_identifier</parameter>. </para> <example> <title>Exemle avec <function>fbsql_create_db</function></title> <programlisting role="php"> <?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); if (fbsql_create_db("my_db")) { print("Base de données créée!\n"); } else { printf("Erreur de création de la base de données : %s\n", fbsql_error()); } ?> </programlisting> </example> <para> Voir aussi <function>fbsql_drop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-data-seek"> <refnamediv> <refname>fbsql_data_seek</refname> <refpurpose>Déplace le pointeur interne de résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_data_seek</function></funcdef> <paramdef>int <parameter>result_identifier</parameter></paramdef> <paramdef>int <parameter>row_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_data_seek</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_data_seek</function> déplace le pointeur interne de ligne dans le résultat de requête <parameter>result_identifier</parameter> jusqu'à la ligne <parameter>row_number</parameter>. Le prochain appel à <function>fbsql_fetch_row</function> retournera cette ligne. </para> <para> Les lignes sont numérotées à partir de 0. </para> <example> <title>Exemple avec <function>fbsql_data_seek</function></title> <programlisting role="php"> <?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); fbsql_select_db("samp_db") or die ("Impossible de sélectionner une base"); $query = "SELECT last_name, first_name FROM friends;"; $result = fbsql_query ($query) or die ("Query failed"); # Lecture des lignes en ordre inverse for ($i = fbsql_num_rows ($result) - 1; $i >=0; $i--) { if (!fbsql_data_seek ($result, $i)) { printf ("Impossible d'accéder à la ligne %d\n", $i); continue; } if(!($row = fbsql_fetch_object ($result))) continue; printf ("%s %s<BR>\n", $row->last_name, $row->first_name); } fbsql_free_result ($result); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-db-query"> <refnamediv> <refname>fbsql_db_query</refname> <refpurpose>Envoie une requête à la base FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_db_query</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_db_query</function> retourne une ressource positive représentant un résultat de requête en cas de succès, et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_db_query</function> sélectionne la base <parameter>database</parameter> et y exécute la requête <parameter>query</parameter>. Si le paramètre optionnel <parameter>link_identifier</parameter> est spécifié, <function>fbsql_db_query</function> travaillera sur cette connexion. S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser la dernière connexion ouverte. Si aucune connexion n'a été ouverte, <function>fbsql_db_query</function> essaiera de se connecter automatiquement en appelant la fonction <function>fbsql_connect</function>, sans arguments. </para> <para> Voir aussi <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-drop-db"> <refnamediv> <refname>fbsql_drop_db</refname> <refpurpose>Supprime une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_drop_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_drop_db</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_drop_db</function> essaie de supprimer la base de données <parameter>database_name</parameter>, sur la connexion représentée par <parameter>link_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-errno"> <refnamediv> <refname>fbsql_errno</refname> <refpurpose>Retourne le code d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_errno</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_errno</function> retourne le code d'erreur de la dernière connexion FrontBase, ou bien <literal>0</literal> (zéro) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"> <?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>"; ?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_error</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-error"> <refnamediv> <refname>fbsql_error</refname> <refpurpose>Retourne le message d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_error</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_error</function> retourne le dernier message d'erreur généré par le serveur FrontBase, ou bien <literal>''</literal> (chaîne vide) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"> <?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>"; ?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_errno</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-array"> <refnamediv> <refname>fbsql_fetch_array</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_array</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_array</function> retourne un tableau contenant la ligne courante du résultat <parameter>result</parameter>, ou <literal>FALSE</literal> s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_array</function> est une version améliorée de <function>fbsql_fetch_row</function>. En plus de stocker les données dans un tableau à indice numérique, elle les stocke aussi sous forme de tableau associatif, dont les indices sont les noms des colonnes. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser les indices numériques. <informalexample> <programlisting> select t1.f1 as foo t2.f1 as bar from t1, t2; </programlisting> </informalexample> </para> <para> Il est important de noter que <function>fbsql_fetch_array</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_assoc</function>. </para> <example> <title>Exemple avec <function>fbsql_fetch_array</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password); $result = fbsql_db_query ("database","select user_id, fullname from table"); while ($row = fbsql_fetch_array ($result)) { echo "user_id: ".$row["user_id"]."<br>\n"; echo "user_id: ".$row[0]."<br>\n"; echo "fullname: ".$row["fullname"]."<br>\n"; echo "fullname: ".$row[1]."<br>\n"; } fbsql_free_result ($result); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-assoc"> <refnamediv> <refname>fbsql_fetch_assoc</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau associatif </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_assoc</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_assoc</function> retourne un tableau associatif contenant la ligne courante du résultat <parameter>result</parameter>, ou <literal>FALSE</literal> s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_assoc</function> est équivalent à <function>fbsql_fetch_array</function> avec l'option <literal>FBSQL_ASSOC</literal>. Elle ne retourne qu'un tableau associatif. C'est le comportement initial de <function>fbsql_fetch_array</function>. Si vous avez aussi besoin des indices numériques, utilisez <function>fbsql_fetch_array</function>. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser la fonction <function>fbsql_fetch_array</function>. </para> <para> Il est important de noter que <function>fbsql_fetch_assoc</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_array</function>. </para> <example> <title>Exemple d'un <function>fbsql_fetch_assoc</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password); $result = fbsql_db_query ("database","select * from table;"); while ($row = fbsql_fetch_assoc ($result)) { echo $row["user_id"]; echo $row["fullname"]; } fbsql_free_result ($result); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-field"> <refnamediv> <refname>fbsql_fetch_field</refname> <refpurpose> Lit des informations sur une colonne dans un résultat, et retourne un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_field</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>field_offset</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_field</function> retourne une objet contenant les informations sur un champs, dans le résultat <parameter>result</parameter>. </para> <para> <function>fbsql_fetch_field</function> sert à lire des informations sur les champs dans le résultat <parameter>result</parameter>. Si le second paramètre <parameter>field_offset</parameter> n'est pas spécifié, le champs suivant est lu. </para> <para> Les propriétés de l'objet sont : <itemizedlist> <listitem> <simpara> name - Nom de colonne </simpara> </listitem> <listitem> <simpara> table - Nom de la table d'origine </simpara> </listitem> <listitem> <simpara> max_length - Taille maximale de la colonne </simpara> </listitem> <listitem> <simpara> not_null - 1 si la colonne ne peut être nulle </simpara> </listitem> <listitem> <simpara> type - Type de la colonne </simpara> </listitem> </itemizedlist> </para> <example> <title>Exemple avec <function>fbsql_fetch_field</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password) or die ("Impossible de se connecter"); $result = fbsql_db_query ("database", "select * from table;") or die ("Query failed"); # get column metadata $i = 0; while ($i < fbsql_num_fields ($result)) { echo "Information for column $i:<br>\n"; $meta = fbsql_fetch_field ($result); if (!$meta) { echo "No information available<br>\n"; } echo "<PRE> max_length: $meta->max_length name: $meta->name not_null: $meta->not_null table: $meta->table type: $meta->type </PRE>"; $i++; } fbsql_free_result ($result); ?> </programlisting> </example> <para> Voir aussi <function>fbsql_field_seek</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-lengths"> <refnamediv> <refname>fbsql_fetch_lengths</refname> <refpurpose> Lit la taille de chaque colonne d'un résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_lengths</function></funcdef> <paramdef>resource <parameter><optional>result</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_lengths</function> retourne un tableau contenant les tailles maximales de chaque champs, dans la dernière ligne lue par <function>fbsql_fetch_row</function> ou <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_fetch_lengths</function> stocke les tailles de chaque ligne de résultat retourné par <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> dans un tableau à indices numériques, commençant à 0. </para> <para> Voir aussi <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-object"> <refnamediv> <refname>fbsql_fetch_object</refname> <refpurpose>Lit une ligne de résultat sous forme d'objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_object</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_object</function> retourne un objet dont les propriétés représentent les colonnes de la ligne à lire, dans le résultat <parameter>result</parameter>, ou <literal>FALSE</literal> s'il n'y a pas de ligne à lire. </para> <para> <function>fbsql_fetch_object</function> est similaire à <function>fbsql_fetch_array</function>, à la différence qu'elle retourne un objet. Nous ne pouvez alors accéder aux données qu'avec les noms des colonnes, et sous la forme de membre d'objets, et non plus avec leurs offset (les nombres ne peuvent représenter un membre d'objet). </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> En terme de vitesse, cette fonction est identique à <function>fbsql_fetch_array</function> et presque aussi rapide que <function>fbsql_fetch_row</function> (la différence n'est pas significative). <example> <title>Exemple avec <function>fbsql_fetch_object</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password); $result = fbsql_db_query ("database", "select * from table;"); while ($row = fbsql_fetch_object ($result)) { echo $row->user_id; echo $row->fullname; } fbsql_free_result($result); ?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_fetch_array</function> et <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-row"> <refnamediv> <refname>fbsql_fetch_row</refname> <refpurpose>Lit une ligne de résultat sous forme de tableau numérique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_row</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_row</function> retourne un tableau représentant la ligne courant dans le résultat <parameter>result</parameter>, ou bien <literal>FALSE</literal> s'il n'y a plus de lignes à lire. </para> <para> <function>fbsql_fetch_row</function> lit une ligne de données dans le résultat <parameter>result</parameter>, et crée un tableau numérique. Chaque colonne est stockés dans un élément du tableau, dans le même ordre que dans le résultat. Les indices commencent à 0. </para> <para> Le prochain appel à <function>fbsql_fetch_row</function> va lire la prochaine ligne, ou bien retourner <literal>FALSE</literal> s'il n'y a plus de lignes à lire. </para> <para> Voir aussi <function>fbsql_fetch_array</function>, <function>fbsql_fetch_object</function>, <function>fbsql_data_seek</function>, <function>fbsql_fetch_lengths</function> et <function>fbsql_result</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-flags"> <refnamediv> <refname>fbsql_field_flags</refname> <refpurpose> Lit les options associé à une colonne de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_flags</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_flags</function> retourne les options du champs <parameter>field_offset</parameter>, dans le résultat <parameter>field_offset</parameter>. Les options sont retournées sous la forme d'un seul mot par option, séparées par des espaces, de façons à faciliter la manipulation avec <function>explode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-name"> <refnamediv> <refname>fbsql_field_name</refname> <refpurpose> Lit le nom d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_name</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_name</function> retourne le nom du champs numéro <parameter>field_index</parameter> dans le résultat <parameter>result</parameter>. <parameter>field_index</parameter> est le résultat de <function>fbsql_query</function> et <parameter>field_index</parameter> est l'offset numérique du champs. </para> <note> <para> <parameter>field_index</parameter> commence à 0. </para> <para> e.g. L'index du troisème champs est 2, et l'index du quatrième champs est 3... </para> </note> <para> <example> <title>Exemple avec <function>fbsql_field_name</function></title> <programlisting role="php"> <?php // La tablea utilisateur est constituée de trois colonnes // user_id // username // password. $res = fbsql_db_query("users", "select * from users;", $link); echo fbsql_field_name($res, 0) . "\n"; echo fbsql_field_name($res, 2); ?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting> user_id password </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-field-len"> <refnamediv> <refname>fbsql_field_len</refname> <refpurpose> Retourne la taille d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_field_len</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_len</function> retourne la taille du champs <parameter>field_offset</parameter> dans le résultat <parameter>result</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-seek"> <refnamediv> <refname>fbsql_field_seek</refname> <refpurpose> Déplace le pointeur de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_field_seek</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_seek</function> place le pointeur de colonne à la colonne <parameter>field_offset</parameter>. Si ce paramètre est omis, <function>fbsql_fetch_field</function> retourne le numéro de colonne courant. </para> <para> Voir aussi <function>fbsql_fetch_field</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-table"> <refnamediv> <refname>fbsql_field_table</refname> <refpurpose> Lit le nom de la table d'origine d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_table</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_table</function> retourn le nom de la table d'où est issue le champs d'offset <parameter>field_offset</parameter>. Les numéros de colonne commencent à 0. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-type"> <refnamediv> <refname>fbsql_field_type</refname> <refpurpose> Lit le type d'une colonne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_type</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_type</function> est similaire à la fonction <function>fbsql_field_name</function>. Les arguments sont identiques, mais le type du champs est retourné. Il peut valoir "int", "real", "string", "blob" ou d'autres valeurs, comme décrit dans <ulink url="&url.fbsql.docs;">la documentation FrontBase</ulink>. <example> <title>Exemple avec <function>fbsql_field_type</function></title> <programlisting role="php"> <?php fbsql_connect ("localhost:3306"); fbsql_connect ("localhost", "_SYSTEM", ""); $result = fbsql_query ("SELECT * FROM onek;"); $fields = fbsql_num_fields ($result); $rows = fbsql_num_rows ($result); $i = 0; $table = fbsql_field_table ($result, $i); echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <br>"; echo "The table has the following fields <br>"; while ($i < $fields) { $type = fbsql_field_type ($result, $i); $name = fbsql_field_name ($result, $i); $len = fbsql_field_len ($result, $i); $flags = fbsql_field_flags ($result, $i); echo $type." ".$name." ".$len." ".$flags."<br>"; $i++; } fbsql_close(); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-free-result"> <refnamediv> <refname>fbsql_free_result</refname> <refpurpose>Libère le résultat de la mémoire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_free_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_free_result</function> va libérer toute la mémoire utilisée par le résultat associé à la ressource <parameter>result</parameter>. </para> <para> <function>fbsql_free_result</function> n'a besoin d'être appelé que si vous craignez que votre script ne va consommer trop de mémoire, lorsqu'une requête retourne de très grand résultats. Toutes les ressources mémoire utilisées par le script sont de toutes manières libérées à la fin du script. </para> </refsect1> </refentry> <refentry id="function.fbsql-insert-id"> <refnamediv> <refname>fbsql_insert_id</refname> <refpurpose> Lit le dernier identifiant généré par une requête INSERT </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_insert_id</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_insert_id</function> retourne l'identifiant généré par la colonne de type DEFAULT UNIQUE, lors de la dernière requête INSERT, avec la connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. </para> <para> <function>fbsql_insert_id</function> retournera 0 si la dernière requête n'a pas généré de valeur dans la colonne DEFAULT UNIQUE Si vous devez sauver cette valeur pour plus tard, n'oubliez pas d'appeler <function>fbsql_insert_id</function> tout de suite après la requête qui a généré cette valeur. </para> <note> <para> La valeur de la fonction FrontBase SQL "<literal>LAST_INSERT_ID()</literal>" retourne toujours la dernière valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les requêtes. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-dbs"> <refnamediv> <refname>fbsql_list_dbs</refname> <refpurpose> Liste les bases de données </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_dbs</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_dbs</function> retourne un résultat contenant la liste des bases de données disponibles sur le serveur <optional>link_identifier</optional>. Utilisez la fonction <function>fbsql_tablename</function> pour passer en revue ce résultat. </para> <para> <example> <title>Exemple avec <function>fbsql_list_dbs</function></title> <programlisting role="php"> <?php $link = fbsql_connect('localhost', 'myname', 'secret'); $db_list = fbsql_list_dbs($link); while ($row = fbsql_fetch_object($db_list)) { echo $row->Database . "\n"; } ?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher ceci : <informalexample> <programlisting> database1 database2 database3 .. </programlisting> </informalexample> </para> <note> <para> L'exemple ci-dessus peut aussi bien fonctionner avec la fonction <function>fbsql_fetch_row</function> ou toute autre similaire. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-fields"> <refnamediv> <refname>fbsql_list_fields</refname> <refpurpose>Liste les champs d'un résultat FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_fields</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>string <parameter>table_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_fields</function> lit les informations à propos de la table <parameter>table_name</parameter>, dans la base de données <parameter>table_name</parameter>, sur la connexion <parameter>link_identifier</parameter>. Un résultat de requête est retourné, et pourra être utilisé avec les fonctions <function>fbsql_field_flags</function>, <function>fbsql_field_len</function>, <function>fbsql_field_name</function> et <function>fbsql_field_type</function>. </para> <para> Un identifiant de résultat est une ressource PHP, représentée par un entier positif. <function>fbsql_list_fields</function> retourne -1 en cas d'erreur. Une chaîne décrivant l'erreur sera alors placée dans la variable <literal>$phperrmsg</literal>. Un message d'erreur sera aussi affiché, à moins que la fonction n'ai été appelée avec l'opérateur de suppression des erreurs @. </para> <para> <example> <title>Exemple avec <function>fbsql_list_fields</function></title> <programlisting role="php"> <?php $link = fbsql_connect('localhost', 'myname', 'secret'); $fields = fbsql_list_fields("database1", "table1", $link); $columns = fbsql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { echo fbsql_field_name($fields, $i) . "\n";; } ?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting> field1 field2 field3 .. </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-list-tables"> <refnamediv> <refname>fbsql_list_tables</refname> <refpurpose>Liste les tables dans une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_tables</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_tables</function> liste les tables dans la base de données <parameter>database</parameter>, et retourne un résultat, tout comme <function>fbsql_db_query</function>. <function>fbsql_tablename</function> sert à extraire la liste des tables dans ce résultat. </para> </refsect1> </refentry> <refentry id="function.fbsql-next-result"> <refnamediv> <refname>fbsql_next_result</refname> <refpurpose>Déplace le pointeur interne vers le résultat suivant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_next_result</function> </funcdef> <paramdef>int <parameter>result_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous exécutez une procédure stockée avec de multiple résultats, cela va conduire le serveur à retourner plusieurs jeu de lignes. <function>fbsql_next_result</function> va vérifier l'existence de plusieurs résultats disponibles sur le serveur. Si un autre jeu de résultat existe, <function>fbsql_next_result</function> va détruire de résultat précédent, et préparer la lecture dans les nouvelles lignes. </para> <para> <function>fbsql_next_result</function> retourne <literal>TRUE</literal> si un autre résultat est disponbile, ou <literal>FALSE</literal> sinon. </para> <example> <title>Exemple avec <function>fbsql_next_result</function></title> <programlisting role="php"> <?php $link = fbsql_connect ("localhost", "_SYSTEM", "secret"); fbsql_select_db("MyDB", $link); $SQL = "Select * from table1; select * from table2;"; $rs = fbsql_query($SQL, $link); do { while ($row = fbsql_fetch_row($rs)) { } } while (fbsql_next_result($rs)); fbsql_free_result($rs); fbsql_close ($link); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-num-fields"> <refnamediv> <refname>fbsql_num_fields</refname> <refpurpose>Lit le nombre de champs dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_fields</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_fields</function> retourne le nombre de champs dans le résultat <parameter>result</parameter>. </para> <para> Voir aussi <function>fbsql_db_query</function>, <function>fbsql_query</function>, <function>fbsql_fetch_field</function> et <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-num-rows"> <refnamediv> <refname>fbsql_num_rows</refname> <refpurpose>Lit le nombre de lignes dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_rows</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_rows</function> retourne le nombre de lignes dans le résultat <parameter>result</parameter>. Cette fonction n'est valable qu'avec les commandes SELECT. Pour connaître le nombre de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez <function>fbsql_affected_rows</function>. <example> <title>Exemple <function>fbsql_num_rows</function></title> <programlisting role="php"> <?php $link = fbsql_connect("localhost", "username", "password"); fbsql_select_db("database", $link); $result = fbsql_query("SELECT * FROM table1;", $link); $num_rows = fbsql_num_rows($result); echo "$num_rows Rows\n"; ?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_connect</function>, <function>fbsql_select_db</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-pconnect"> <refnamediv> <refname>fbsql_pconnect</refname> <refpurpose> Ouvre une connexion persistante à un serveur FrontBase </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_pconnect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter><optional>username</optional></parameter> </paramdef> <paramdef>string <parameter><optional>password</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_pconnect</function> retourne une ressource représentant la connection au serveur FrontBase en cas de succès, ou bien <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_pconnect</function> établit une connexion persistante à un serveur FrontBase. En cas d'omission, les valeurs suivantes sont utilisées par défaut : <parameter>host</parameter> ='localhost', <parameter>username</parameter> = nom de l'utilisateur qui possède le processus, et <parameter>password</parameter> = pas de mot de passe. </para> <para> Pour choisir le port d'accès au serveur FrontBase, voyez <function>fbsql_select_db</function>. </para> <para> <function>fbsql_pconnect</function> se comporte comme <function>fbsql_connect</function> avec deux différences majeures. </para> <para> Premièrement, lors de la connexion, <function>fbsql_pconnect</function> essaie de trouver une connexion permanante déjà ouverte sur cet hote, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion. </para> <para> Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès (<function>fbsql_close</function> ne terminera pas une connexion persistante établie par <function>fbsql_pconnect</function>). </para> <para> C'est pourquoi ce type de connexion est dite 'persistante'. </para> </refsect1> </refentry> <refentry id="function.fbsql-query"> <refnamediv> <refname>fbsql_query</refname> <refpurpose>Exécute une requête sur un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_query</function></funcdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter><optional>link_identifier</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_query</function> envoie la requête <parameter>query</parameter> à la base de données courante, sur le serveur représenté par sa connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_query</function> essaie d'établir une connexion en appelant la fonction <function>fbsql_connect</function> sans aucun argument. </para> <note> <para> La requête doit être terminée par un point-virgule! </para> </note> <para> <function>fbsql_query</function> retourne une ressource en cas de succès, ou <literal>FALSE</literal>, en cas d'échec. </para> <para> La requête suivante est invalide, et <function>fbsql_query</function> échouera puis retournera <literal>FALSE</literal>: <example> <title>Exemple avec <function>fbsql_query</function>(1)</title> <programlisting role="php"> <?php $result = fbsql_query ("SELECT * WHERE 1=1;") or die("Requête invalide"); ?> </programlisting> </example> </para> <para> La requête suivante est invalide si <literal>my_col</literal> n'est pas une colonne dans la table <literal>my_tbl</literal> : <function>fbsql_query</function> échouera puis retournera <literal>FALSE</literal> : <example> <title>Exemple avec <function>fbsql_query</function>(2)</title> <programlisting role="php"> <?php $result = fbsql_query ("SELECT my_col FROM my_tbl") or die ("Invalid query"); ?> </programlisting> </example> </para> <para> <function>fbsql_query</function> échouera si vous n'avez pas les droits d'accès sur l'une des bases de données utilisée dans la requête. </para> <para> Lorsque la requête réussit, vous pouvez utilisez <function>fbsql_num_rows</function> pour savoir combien de lignes ont été retournée par une requête SELECT, ou bien <function>fbsql_affected_rows</function> pour les autres requêtes (DELETE, INSERT, REPLACE et UPDATE). </para> <para> Pour les requêtes SELECT, <function>fbsql_query</function> retourne une ressource de résultat, que vous pouvez passer à <function>fbsql_result</function>. Lors vous avez fini de lire le résultat, vous pouvez libérer les ressources utilisées en appelant <function>fbsql_free_result</function>. Cependant, la mémoire sera automatiquement libérée à la fin du script. </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_db_query</function>, <function>fbsql_free_result</function>, <function>fbsql_result</function>, <function>fbsql_select_db</function> et <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-result"> <refnamediv> <refname>fbsql_result</refname> <refpurpose>Lit des données dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>fbsql_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>row</parameter></paramdef> <paramdef>mixed <parameter> <optional>field</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_result</function> lit le contenu du champs <parameter>field</parameter>, dans la ligne <parameter>row</parameter>, du résultat <parameter>result</parameter>. L'argument <parameter>field</parameter> peut être l'offset du champs, ou bien son nom, ou bien le nom de sa table plus point plus son nom. Si la colonne a été aliasée, utilisez de préférence l'alias. </para> <para> Lorsque vous travaillez sur de grands résultats, il est vivement recommandé d'utiliser les fonctions qui lisent toute une ligne d'un coup, plutôt que <function>fbsql_result</function> qui travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi que les offset numériques sont plus rapides que les offset nominaux. </para> <para> L'utilisation de <function>fbsql_result</function> ne doivent pas être mélangé avec d'autres fonctions qui utilisent aussi le résultat <parameter>result</parameter>. </para> <para> Alternative vivement recommandées : <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-select-db"> <refnamediv> <refname>fbsql_select_db</refname> <refpurpose>Sélectionne une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_select_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_select_db</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_select_db</function> remplace la base de données active courante par <parameter>database_name</parameter>, sur la connexion ouverte et représentée par <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_select_db</function> essaiera de se connecter en appelant <function>fbsql_connect</function> sans argument. </para> <para> Le client contacte FBExec pour connaître le numéro de port à utiliser pour la connexion à la base de données. Si le nom de la base est un numéro, le système l'utilisera comme numéro de port, et ne le demandera pas à FBExec. Le serveur Frontbase peut être démarré avec la commande : <literal>FRontBase -FBExec=No -port=<port number> <database name></literal>. </para> <para> Tous les prochains appel à <function>fbsql_query</function> se feront dans la base <parameter>database_name</parameter>. </para> <para> Voir aussi <function>fbsql_connect</function>, <function>fbsql_pconnect</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-tablename"> <refnamediv> <refname>fbsql_tablename</refname> <refpurpose>Lit le nom de la table d'un champs</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_tablename</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>i</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_tablename</function> retourne le nom de la table d'origine du champs <parameter>i</parameter>, dans le résultat <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> peut être utilisée pour connaître le nombre de tables dans un résultat. <example> <title>Exemple avec <function>fbsql_tablename</function></title> <programlisting role="php"> <?php fbsql_connect ("localhost:3306"); $result = fbsql_list_tables ("wisconsin"); $i = 0; while ($i < fbsql_num_rows ($result)) { $tb_names[$i] = fbsql_tablename ($result, $i); echo $tb_names[$i] . "<br>"; $i++; } ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-warnings"> <refnamediv> <refname>fbsql_warnings</refname> <refpurpose>Active ou désactive les alertes FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_warnings</function></funcdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_warnings</function> retourne <literal>TRUE</literal> si les alertes sont actives et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_warnings</function> active ou désactive les alertes FrontBase suivant que <parameter>OnOff</parameter> est à <literal>TRUE</literal> ou <literal>FALSE</literal>. </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->
Index: phpdoc/fr/functions/fbsql.xml +++ phpdoc/fr/functions/fbsql.xml <reference id="ref.fbsql"> <title>FrontBase</title> <titleabbrev>FrontBase</titleabbrev> <partintro> <simpara> Ces fonctions vous permettent d'accéder aux serveurs SQL FrontBase. Pour pouvoir les utiliser, vous devez compiler PHP avec le support fbsql en utilisant l'option <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql</option></link>. Si vous utilisez cette option sans spécifier le chemin jusqu'à l'installation fbsql, PHP recherchera les librairies du client fbsql dans les dossiers habituels, sur votre système. Les utilisateurs qui ont installé FrontBase dans un dossier non standard doivent spécifier le chemin comme ceci : <link linkend="install.configure.with-fbsql"><option role="configure">--with-fbsql=/path/to/fbsql</option></link>. Cela va indiquer à PHP le bon emplacement des librairies de FrontBase, et éviter les conflits. </simpara> <simpara> Plus d'informations sur FrontBase sont disponibles à <ulink url="&url.fbsql;">&url.fbsql;</ulink>. </simpara> <simpara> La documentation complète de FrontBase est disponible à <ulink url="&url.fbsql.docs;">&url.fbsql.docs;</ulink>. </simpara> <simpara> Le support de Frontbase a été ajouté en PHP 4.0.6. </simpara> </partintro> <refentry id="function.fbsql-affected-rows"> <refnamediv> <refname>fbsql_affected_rows</refname> <refpurpose> Lit le nombre de ligne affectées par la dernière requête </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_affected_rows</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_affected_rows</function> retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE ou DELETE, effectuée avec la connexion représentée par <parameter>link_identifier</parameter>. Si ce dernier n'est pas spécifié, c'est la dernière connexion ouverte par <function>fbsql_connect</function> qui sera utilisée. </para> <note> <para> Si vous utilisez les transactions, vous devez appeler <function>fbsql_affected_rows</function> après votre requête INSERT, UPDATE ou DELETE, mais pas après la validation. </para> </note> <para> Si la dernière requête DELETE ne contenait pas de clause WHERE, toutes les lignes seront effacées, mais <function>fbsql_affected_rows</function> retournera 0. </para> <note> <para> Lors d'une requête UPDATE, FrontBase ne modifie pas les lignes dont les anciennes valeurs sont égales aux nouvelles. Cela fait que <function>fbsql_affected_rows</function> ne retournera pas le nombre de ligne traitées, mais le nombre de lignes affectées (modifiées) par la requête. </para> </note> <para> Si la dernière requête échoue, <function>fbsql_affected_rows</function> retourne -1. </para> <para> Voir aussi <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-autocommit"> <refnamediv> <refname>fbsql_autocommit</refname> <refpurpose>Active ou désactive la validation automatique.</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_autocommit</function></funcdef> <paramdef>resource <parameter>link_identifier</parameter> </paramdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_autocommit</function> retourne l'état courant de la validation automatique, pour la connexion <parameter>link_identifier</parameter>. Si le paramètre <parameter>OnOff</parameter> est fourni, la validation automatique sera remplacée par sa valeur (un booléen). </para> </refsect1> </refentry> <refentry id="function.fbsql-change-user"> <refnamediv> <refname>fbsql_change_user</refname> <refpurpose> Change le nom d'utilisateur de la session active </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_change_user</function></funcdef> <paramdef>string <parameter>user</parameter></paramdef> <paramdef>string <parameter>password</parameter></paramdef> <paramdef>string <parameter> <optional>database</optional> </parameter> </paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_change_user</function> change le nom de l'utilisateur courant sur la session active courante, ou sur <parameter>link_identifier</parameter>. Si une base de données est spécifiée avec le paramètre <parameter>database</parameter>, elle deviendra la base par défaut du nouvel utilisateur. Le nouvel utilisateur doit être spécifié par son login (<parameter>user</parameter>), et son mot de passe (<parameter>password</parameter>). Si l'authentification échoue, la session courante restera ouverte. </para> </refsect1> </refentry> <refentry id="function.fbsql-close"> <refnamediv> <refname>fbsql_close</refname> <refpurpose>Ferme la connexion FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_close</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_close</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_close</function> ferme la connexion au serveur FrontBase associé à la ressource <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, c'est la dernière connexion ouverte qui sera fermée. </para> <para> Utiliser <function>fbsql_close</function> n'est pas nécessaire, car les liens non persistants seront automatiquement fermé à la fin du script. </para> <note> </note> <example> <title>Exemple avec <function>fbsql_close</function></title> <programlisting role="php"> <?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connecté!"); fbsql_close($link); ?> </programlisting> </example> <para> Voir aussi <function>fbsql_connect</function> et <function>fbsql_pconnect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-connect"> <refnamediv> <refname>fbsql_connect</refname> <refpurpose>Ouvre une connexion à un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_connect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>username</optional> </parameter> </paramdef> <paramdef>string <parameter> <optional>password</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_connect</function> retourne une ressource de connexion positive en cas de succès, ou un message d'erreur en cas d'échec. </para> <para> <function>fbsql_connect</function> établit une connexion avec un serveur FrontBase. Les valeur suivantes sont utilisées, en cas d'omission : <parameter>hostname</parameter> = 'NULL', <parameter>username</parameter> = '_SYSTEM' et <parameter>password</parameter> = "" (pas de mot de passe). </para> <para> Si un deuxième appel est fait à <function>fbsql_connect</function> avec les mêmes arguments, une nouvelle connexion ne sera pas générée, mais la connexion déjà ouverte sera reutilisée, et retournée. </para> <para> La connexion au serveur sera fermée dès la fin du scrpit, à moins qu'elle ne soit explicitement terminée plus tôt, avec la fonction <function>fbsql_close</function>. </para> <example> <title>Exemple avec <function>fbsql_connect</function></title> <programlisting role="php"> <?php $link = fbsql_connect("localhost", "_SYSTEM", "secret") or die("Could not connect"); print("Connected successfully"); fbsql_close($link); ?> </programlisting> </example> <para> Voir aussi <function>fbsql_pconnect</function> et <function>fbsql_close</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-create-db"> <refnamediv> <refname>fbsql_create_db</refname> <refpurpose>Crée une base de données</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_create_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_create_db</function> crée une nouvelle base de données, nommée <parameter>database_name</parameter>, sur le serveur repéré par la ressource <parameter>link_identifier</parameter>. </para> <example> <title>Exemle avec <function>fbsql_create_db</function></title> <programlisting role="php"> <?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); if (fbsql_create_db("my_db")) { print("Base de données créée!\n"); } else { printf("Erreur de création de la base de données : %s\n", fbsql_error()); } ?> </programlisting> </example> <para> Voir aussi <function>fbsql_drop_db</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-data-seek"> <refnamediv> <refname>fbsql_data_seek</refname> <refpurpose>Déplace le pointeur interne de résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_data_seek</function></funcdef> <paramdef>int <parameter>result_identifier</parameter></paramdef> <paramdef>int <parameter>row_number</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_data_seek</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_data_seek</function> déplace le pointeur interne de ligne dans le résultat de requête <parameter>result_identifier</parameter> jusqu'à la ligne <parameter>row_number</parameter>. Le prochain appel à <function>fbsql_fetch_row</function> retournera cette ligne. </para> <para> Les lignes sont numérotées à partir de 0. </para> <example> <title>Exemple avec <function>fbsql_data_seek</function></title> <programlisting role="php"> <?php $link = fbsql_pconnect("localhost", "_SYSTEM", "secret") or die ("Impossible de se connecter"); fbsql_select_db("samp_db") or die ("Impossible de sélectionner une base"); $query = "SELECT last_name, first_name FROM friends;"; $result = fbsql_query ($query) or die ("Query failed"); # Lecture des lignes en ordre inverse for ($i = fbsql_num_rows ($result) - 1; $i >=0; $i--) { if (!fbsql_data_seek ($result, $i)) { printf ("Impossible d'accéder à la ligne %d\n", $i); continue; } if(!($row = fbsql_fetch_object ($result))) continue; printf ("%s %s<BR>\n", $row->last_name, $row->first_name); } fbsql_free_result ($result); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-db-query"> <refnamediv> <refname>fbsql_db_query</refname> <refpurpose>Envoie une requête à la base FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_db_query</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_db_query</function> retourne une ressource positive représentant un résultat de requête en cas de succès, et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_db_query</function> sélectionne la base <parameter>database</parameter> et y exécute la requête <parameter>query</parameter>. Si le paramètre optionnel <parameter>link_identifier</parameter> est spécifié, <function>fbsql_db_query</function> travaillera sur cette connexion. S'il est omis, <function>fbsql_db_query</function> essaiera d'utiliser la dernière connexion ouverte. Si aucune connexion n'a été ouverte, <function>fbsql_db_query</function> essaiera de se connecter automatiquement en appelant la fonction <function>fbsql_connect</function>, sans arguments. </para> <para> Voir aussi <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-drop-db"> <refnamediv> <refname>fbsql_drop_db</refname> <refpurpose>Supprime une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_drop_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_drop_db</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_drop_db</function> essaie de supprimer la base de données <parameter>database_name</parameter>, sur la connexion représentée par <parameter>link_identifier</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-errno"> <refnamediv> <refname>fbsql_errno</refname> <refpurpose>Retourne le code d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_errno</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_errno</function> retourne le code d'erreur de la dernière connexion FrontBase, ou bien <literal>0</literal> (zéro) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"> <?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>"; ?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_error</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-error"> <refnamediv> <refname>fbsql_error</refname> <refpurpose>Retourne le message d'erreur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_error</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_error</function> retourne le dernier message d'erreur généré par le serveur FrontBase, ou bien <literal>''</literal> (chaîne vide) si aucune erreur n'est survenue. </para> <para> Les erreurs générées par FrontBase ne sont pas automatiquement affichées comme alertes. Il faut utiliser la fonction <function>fbsql_errno</function> pour connaître leur code d'erreur. Notez que cette fonction ne retourne que le code d'erreur généré par la dernière fonction FrontBase (hormis <function>fbsql_error</function> et <function>fbsql_errno</function>) : si vous voulez repérer les erreurs, faites le dès que les fonctions ont été appelées. <informalexample> <programlisting role="php"> <?php fbsql_connect("marliesle"); echo fbsql_errno().": ".fbsql_error()."<br>"; fbsql_select_db("nonexistentdb"); echo fbsql_errno().": ".fbsql_error()."<br>"; $conn = fbsql_query("SELECT * FROM nonexistenttable;"); echo fbsql_errno().": ".fbsql_error()."<br>"; ?> </programlisting> </informalexample> </para> <para> Voir aussi <function>fbsql_errno</function> et <function>fbsql_warnings</function> </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-array"> <refnamediv> <refname>fbsql_fetch_array</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau. </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_array</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_array</function> retourne un tableau contenant la ligne courante du résultat <parameter>result</parameter>, ou <literal>FALSE</literal> s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_array</function> est une version améliorée de <function>fbsql_fetch_row</function>. En plus de stocker les données dans un tableau à indice numérique, elle les stocke aussi sous forme de tableau associatif, dont les indices sont les noms des colonnes. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser les indices numériques. <informalexample> <programlisting> select t1.f1 as foo t2.f1 as bar from t1, t2; </programlisting> </informalexample> </para> <para> Il est important de noter que <function>fbsql_fetch_array</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_assoc</function>. </para> <example> <title>Exemple avec <function>fbsql_fetch_array</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password); $result = fbsql_db_query ("database","select user_id, fullname from table"); while ($row = fbsql_fetch_array ($result)) { echo "user_id: ".$row["user_id"]."<br>\n"; echo "user_id: ".$row[0]."<br>\n"; echo "fullname: ".$row["fullname"]."<br>\n"; echo "fullname: ".$row[1]."<br>\n"; } fbsql_free_result ($result); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-assoc"> <refnamediv> <refname>fbsql_fetch_assoc</refname> <refpurpose> Lit toute une ligne de résultat dans un tableau associatif </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_assoc</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_assoc</function> retourne un tableau associatif contenant la ligne courante du résultat <parameter>result</parameter>, ou <literal>FALSE</literal> s'il n'y a plus de lignes. </para> <para> <function>fbsql_fetch_assoc</function> est équivalent à <function>fbsql_fetch_array</function> avec l'option <literal>FBSQL_ASSOC</literal>. Elle ne retourne qu'un tableau associatif. C'est le comportement initial de <function>fbsql_fetch_array</function>. Si vous avez aussi besoin des indices numériques, utilisez <function>fbsql_fetch_array</function>. </para> <para> SI deux colonnes (ou plus) on le même nom, la dernière colonne sera utilisée. Pour accéder aux autres colonnes de même nom, vous devez absolument utiliser la fonction <function>fbsql_fetch_array</function>. </para> <para> Il est important de noter que <function>fbsql_fetch_assoc</function> n'est pas significativement plus lent que <function>fbsql_fetch_row</function>, tandis qu'elle apporte un confort d'utilisation notable. </para> <para> Pour plus de détails, reportez-vous à <function>fbsql_fetch_row</function> et <function>fbsql_fetch_array</function>. </para> <example> <title>Exemple d'un <function>fbsql_fetch_assoc</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password); $result = fbsql_db_query ("database","select * from table;"); while ($row = fbsql_fetch_assoc ($result)) { echo $row["user_id"]; echo $row["fullname"]; } fbsql_free_result ($result); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-fetch-field"> <refnamediv> <refname>fbsql_fetch_field</refname> <refpurpose> Lit des informations sur une colonne dans un résultat, et retourne un objet </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_field</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>field_offset</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_field</function> retourne une objet contenant les informations sur un champs, dans le résultat <parameter>result</parameter>. </para> <para> <function>fbsql_fetch_field</function> sert à lire des informations sur les champs dans le résultat <parameter>result</parameter>. Si le second paramètre <parameter>field_offset</parameter> n'est pas spécifié, le champs suivant est lu. </para> <para> Les propriétés de l'objet sont : <itemizedlist> <listitem> <simpara> name - Nom de colonne </simpara> </listitem> <listitem> <simpara> table - Nom de la table d'origine </simpara> </listitem> <listitem> <simpara> max_length - Taille maximale de la colonne </simpara> </listitem> <listitem> <simpara> not_null - 1 si la colonne ne peut être nulle </simpara> </listitem> <listitem> <simpara> type - Type de la colonne </simpara> </listitem> </itemizedlist> </para> <example> <title>Exemple avec <function>fbsql_fetch_field</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password) or die ("Impossible de se connecter"); $result = fbsql_db_query ("database", "select * from table;") or die ("Query failed"); # get column metadata $i = 0; while ($i < fbsql_num_fields ($result)) { echo "Information for column $i:<br>\n"; $meta = fbsql_fetch_field ($result); if (!$meta) { echo "No information available<br>\n"; } echo "<PRE> max_length: $meta->max_length name: $meta->name not_null: $meta->not_null table: $meta->table type: $meta->type </PRE>"; $i++; } fbsql_free_result ($result); ?> </programlisting> </example> <para> Voir aussi <function>fbsql_field_seek</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-lengths"> <refnamediv> <refname>fbsql_fetch_lengths</refname> <refpurpose> Lit la taille de chaque colonne d'un résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_lengths</function></funcdef> <paramdef>resource <parameter><optional>result</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_lengths</function> retourne un tableau contenant les tailles maximales de chaque champs, dans la dernière ligne lue par <function>fbsql_fetch_row</function> ou <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_fetch_lengths</function> stocke les tailles de chaque ligne de résultat retourné par <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function> dans un tableau à indices numériques, commençant à 0. </para> <para> Voir aussi <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-object"> <refnamediv> <refname>fbsql_fetch_object</refname> <refpurpose>Lit une ligne de résultat sous forme d'objet</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>object <function>fbsql_fetch_object</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter> <optional>result_type</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_object</function> retourne un objet dont les propriétés représentent les colonnes de la ligne à lire, dans le résultat <parameter>result</parameter>, ou <literal>FALSE</literal> s'il n'y a pas de ligne à lire. </para> <para> <function>fbsql_fetch_object</function> est similaire à <function>fbsql_fetch_array</function>, à la différence qu'elle retourne un objet. Nous ne pouvez alors accéder aux données qu'avec les noms des colonnes, et sous la forme de membre d'objets, et non plus avec leurs offset (les nombres ne peuvent représenter un membre d'objet). </para> <para> Le second argument optionnel <parameter>result_type</parameter> de <function>fbsql_fetch_array</function> est une constante qui peut prendre l'une des valeurs suivantes : <literal>FBSQL_ASSOC</literal>, <literal>FBSQL_NUM</literal> et <literal>FBSQL_BOTH</literal>. </para> <para> En terme de vitesse, cette fonction est identique à <function>fbsql_fetch_array</function> et presque aussi rapide que <function>fbsql_fetch_row</function> (la différence n'est pas significative). <example> <title>Exemple avec <function>fbsql_fetch_object</function></title> <programlisting role="php"> <?php fbsql_connect ($host, $user, $password); $result = fbsql_db_query ("database", "select * from table;"); while ($row = fbsql_fetch_object ($result)) { echo $row->user_id; echo $row->fullname; } fbsql_free_result($result); ?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_fetch_array</function> et <function>fbsql_fetch_row</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-fetch-row"> <refnamediv> <refname>fbsql_fetch_row</refname> <refpurpose>Lit une ligne de résultat sous forme de tableau numérique</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>array <function>fbsql_fetch_row</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_fetch_row</function> retourne un tableau représentant la ligne courant dans le résultat <parameter>result</parameter>, ou bien <literal>FALSE</literal> s'il n'y a plus de lignes à lire. </para> <para> <function>fbsql_fetch_row</function> lit une ligne de données dans le résultat <parameter>result</parameter>, et crée un tableau numérique. Chaque colonne est stockés dans un élément du tableau, dans le même ordre que dans le résultat. Les indices commencent à 0. </para> <para> Le prochain appel à <function>fbsql_fetch_row</function> va lire la prochaine ligne, ou bien retourner <literal>FALSE</literal> s'il n'y a plus de lignes à lire. </para> <para> Voir aussi <function>fbsql_fetch_array</function>, <function>fbsql_fetch_object</function>, <function>fbsql_data_seek</function>, <function>fbsql_fetch_lengths</function> et <function>fbsql_result</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-flags"> <refnamediv> <refname>fbsql_field_flags</refname> <refpurpose> Lit les options associé à une colonne de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_flags</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_flags</function> retourne les options du champs <parameter>field_offset</parameter>, dans le résultat <parameter>field_offset</parameter>. Les options sont retournées sous la forme d'un seul mot par option, séparées par des espaces, de façons à faciliter la manipulation avec <function>explode</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-name"> <refnamediv> <refname>fbsql_field_name</refname> <refpurpose> Lit le nom d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_name</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_index</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_name</function> retourne le nom du champs numéro <parameter>field_index</parameter> dans le résultat <parameter>result</parameter>. <parameter>field_index</parameter> est le résultat de <function>fbsql_query</function> et <parameter>field_index</parameter> est l'offset numérique du champs. </para> <note> <para> <parameter>field_index</parameter> commence à 0. </para> <para> e.g. L'index du troisème champs est 2, et l'index du quatrième champs est 3... </para> </note> <para> <example> <title>Exemple avec <function>fbsql_field_name</function></title> <programlisting role="php"> <?php // La tablea utilisateur est constituée de trois colonnes // user_id // username // password. $res = fbsql_db_query("users", "select * from users;", $link); echo fbsql_field_name($res, 0) . "\n"; echo fbsql_field_name($res, 2); ?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting> user_id password </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-field-len"> <refnamediv> <refname>fbsql_field_len</refname> <refpurpose> Retourne la taille d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_field_len</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_len</function> retourne la taille du champs <parameter>field_offset</parameter> dans le résultat <parameter>result</parameter>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-seek"> <refnamediv> <refname>fbsql_field_seek</refname> <refpurpose> Déplace le pointeur de résultat </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_field_seek</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_seek</function> place le pointeur de colonne à la colonne <parameter>field_offset</parameter>. Si ce paramètre est omis, <function>fbsql_fetch_field</function> retourne le numéro de colonne courant. </para> <para> Voir aussi <function>fbsql_fetch_field</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-table"> <refnamediv> <refname>fbsql_field_table</refname> <refpurpose> Lit le nom de la table d'origine d'un champs </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_table</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_table</function> retourn le nom de la table d'où est issue le champs d'offset <parameter>field_offset</parameter>. Les numéros de colonne commencent à 0. </para> </refsect1> </refentry> <refentry id="function.fbsql-field-type"> <refnamediv> <refname>fbsql_field_type</refname> <refpurpose> Lit le type d'une colonne </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_field_type</function></funcdef> <paramdef>int <parameter>result</parameter></paramdef> <paramdef>int <parameter>field_offset</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_field_type</function> est similaire à la fonction <function>fbsql_field_name</function>. Les arguments sont identiques, mais le type du champs est retourné. Il peut valoir "int", "real", "string", "blob" ou d'autres valeurs, comme décrit dans <ulink url="&url.fbsql.docs;">la documentation FrontBase</ulink>. <example> <title>Exemple avec <function>fbsql_field_type</function></title> <programlisting role="php"> <?php fbsql_connect ("localhost:3306"); fbsql_connect ("localhost", "_SYSTEM", ""); $result = fbsql_query ("SELECT * FROM onek;"); $fields = fbsql_num_fields ($result); $rows = fbsql_num_rows ($result); $i = 0; $table = fbsql_field_table ($result, $i); echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <br>"; echo "The table has the following fields <br>"; while ($i < $fields) { $type = fbsql_field_type ($result, $i); $name = fbsql_field_name ($result, $i); $len = fbsql_field_len ($result, $i); $flags = fbsql_field_flags ($result, $i); echo $type." ".$name." ".$len." ".$flags."<br>"; $i++; } fbsql_close(); ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-free-result"> <refnamediv> <refname>fbsql_free_result</refname> <refpurpose>Libère le résultat de la mémoire</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_free_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_free_result</function> va libérer toute la mémoire utilisée par le résultat associé à la ressource <parameter>result</parameter>. </para> <para> <function>fbsql_free_result</function> n'a besoin d'être appelé que si vous craignez que votre script ne va consommer trop de mémoire, lorsqu'une requête retourne de très grand résultats. Toutes les ressources mémoire utilisées par le script sont de toutes manières libérées à la fin du script. </para> </refsect1> </refentry> <refentry id="function.fbsql-insert-id"> <refnamediv> <refname>fbsql_insert_id</refname> <refpurpose> Lit le dernier identifiant généré par une requête INSERT </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_insert_id</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_insert_id</function> retourne l'identifiant généré par la colonne de type DEFAULT UNIQUE, lors de la dernière requête INSERT, avec la connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. </para> <para> <function>fbsql_insert_id</function> retournera 0 si la dernière requête n'a pas généré de valeur dans la colonne DEFAULT UNIQUE Si vous devez sauver cette valeur pour plus tard, n'oubliez pas d'appeler <function>fbsql_insert_id</function> tout de suite après la requête qui a généré cette valeur. </para> <note> <para> La valeur de la fonction FrontBase SQL "<literal>LAST_INSERT_ID()</literal>" retourne toujours la dernière valeur générée par DEFAULT UNIQUE et n'est jamais annulée entre les requêtes. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-dbs"> <refnamediv> <refname>fbsql_list_dbs</refname> <refpurpose> Liste les bases de données </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_dbs</function></funcdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_dbs</function> retourne un résultat contenant la liste des bases de données disponibles sur le serveur <optional>link_identifier</optional>. Utilisez la fonction <function>fbsql_tablename</function> pour passer en revue ce résultat. </para> <para> <example> <title>Exemple avec <function>fbsql_list_dbs</function></title> <programlisting role="php"> <?php $link = fbsql_connect('localhost', 'myname', 'secret'); $db_list = fbsql_list_dbs($link); while ($row = fbsql_fetch_object($db_list)) { echo $row->Database . "\n"; } ?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher ceci : <informalexample> <programlisting> database1 database2 database3 .. </programlisting> </informalexample> </para> <note> <para> L'exemple ci-dessus peut aussi bien fonctionner avec la fonction <function>fbsql_fetch_row</function> ou toute autre similaire. </para> </note> </refsect1> </refentry> <refentry id="function.fbsql-list-fields"> <refnamediv> <refname>fbsql_list_fields</refname> <refpurpose>Liste les champs d'un résultat FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_fields</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>string <parameter>table_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_fields</function> lit les informations à propos de la table <parameter>table_name</parameter>, dans la base de données <parameter>table_name</parameter>, sur la connexion <parameter>link_identifier</parameter>. Un résultat de requête est retourné, et pourra être utilisé avec les fonctions <function>fbsql_field_flags</function>, <function>fbsql_field_len</function>, <function>fbsql_field_name</function> et <function>fbsql_field_type</function>. </para> <para> Un identifiant de résultat est une ressource PHP, représentée par un entier positif. <function>fbsql_list_fields</function> retourne -1 en cas d'erreur. Une chaîne décrivant l'erreur sera alors placée dans la variable <literal>$phperrmsg</literal>. Un message d'erreur sera aussi affiché, à moins que la fonction n'ai été appelée avec l'opérateur de suppression des erreurs @. </para> <para> <example> <title>Exemple avec <function>fbsql_list_fields</function></title> <programlisting role="php"> <?php $link = fbsql_connect('localhost', 'myname', 'secret'); $fields = fbsql_list_fields("database1", "table1", $link); $columns = fbsql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { echo fbsql_field_name($fields, $i) . "\n";; } ?> </programlisting> </example> </para> <para> L'exemple ci-dessus va afficher : <informalexample> <programlisting> field1 field2 field3 .. </programlisting> </informalexample> </para> </refsect1> </refentry> <refentry id="function.fbsql-list-tables"> <refnamediv> <refname>fbsql_list_tables</refname> <refpurpose>Liste les tables dans une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_list_tables</function></funcdef> <paramdef>string <parameter>database</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_list_tables</function> liste les tables dans la base de données <parameter>database</parameter>, et retourne un résultat, tout comme <function>fbsql_db_query</function>. <function>fbsql_tablename</function> sert à extraire la liste des tables dans ce résultat. </para> </refsect1> </refentry> <refentry id="function.fbsql-next-result"> <refnamediv> <refname>fbsql_next_result</refname> <refpurpose>Déplace le pointeur interne vers le résultat suivant</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>bool <function>fbsql_next_result</function> </funcdef> <paramdef>int <parameter>result_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Lorsque vous envoyez plus d'une commande SQL au serveur, ou que vous exécutez une procédure stockée avec de multiple résultats, cela va conduire le serveur à retourner plusieurs jeu de lignes. <function>fbsql_next_result</function> va vérifier l'existence de plusieurs résultats disponibles sur le serveur. Si un autre jeu de résultat existe, <function>fbsql_next_result</function> va détruire de résultat précédent, et préparer la lecture dans les nouvelles lignes. </para> <para> <function>fbsql_next_result</function> retourne <literal>TRUE</literal> si un autre résultat est disponbile, ou <literal>FALSE</literal> sinon. </para> <example> <title>Exemple avec <function>fbsql_next_result</function></title> <programlisting role="php"> <?php $link = fbsql_connect ("localhost", "_SYSTEM", "secret"); fbsql_select_db("MyDB", $link); $SQL = "Select * from table1; select * from table2;"; $rs = fbsql_query($SQL, $link); do { while ($row = fbsql_fetch_row($rs)) { } } while (fbsql_next_result($rs)); fbsql_free_result($rs); fbsql_close ($link); ?> </programlisting> </example> </refsect1> </refentry> <refentry id="function.fbsql-num-fields"> <refnamediv> <refname>fbsql_num_fields</refname> <refpurpose>Lit le nombre de champs dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_fields</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_fields</function> retourne le nombre de champs dans le résultat <parameter>result</parameter>. </para> <para> Voir aussi <function>fbsql_db_query</function>, <function>fbsql_query</function>, <function>fbsql_fetch_field</function> et <function>fbsql_num_rows</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-num-rows"> <refnamediv> <refname>fbsql_num_rows</refname> <refpurpose>Lit le nombre de lignes dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>int <function>fbsql_num_rows</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_num_rows</function> retourne le nombre de lignes dans le résultat <parameter>result</parameter>. Cette fonction n'est valable qu'avec les commandes SELECT. Pour connaître le nombre de lignes dans une requête INSERT, UPDATE ou DELETE, utilisez <function>fbsql_affected_rows</function>. <example> <title>Exemple <function>fbsql_num_rows</function></title> <programlisting role="php"> <?php $link = fbsql_connect("localhost", "username", "password"); fbsql_select_db("database", $link); $result = fbsql_query("SELECT * FROM table1;", $link); $num_rows = fbsql_num_rows($result); echo "$num_rows Rows\n"; ?> </programlisting> </example> </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_connect</function>, <function>fbsql_select_db</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-pconnect"> <refnamediv> <refname>fbsql_pconnect</refname> <refpurpose> Ouvre une connexion persistante à un serveur FrontBase </refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_pconnect</function></funcdef> <paramdef>string <parameter> <optional>hostname</optional> </parameter> </paramdef> <paramdef>string <parameter><optional>username</optional></parameter> </paramdef> <paramdef>string <parameter><optional>password</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_pconnect</function> retourne une ressource représentant la connection au serveur FrontBase en cas de succès, ou bien <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_pconnect</function> établit une connexion persistante à un serveur FrontBase. En cas d'omission, les valeurs suivantes sont utilisées par défaut : <parameter>host</parameter> ='localhost', <parameter>username</parameter> = nom de l'utilisateur qui possède le processus, et <parameter>password</parameter> = pas de mot de passe. </para> <para> Pour choisir le port d'accès au serveur FrontBase, voyez <function>fbsql_select_db</function>. </para> <para> <function>fbsql_pconnect</function> se comporte comme <function>fbsql_connect</function> avec deux différences majeures. </para> <para> Premièrement, lors de la connexion, <function>fbsql_pconnect</function> essaie de trouver une connexion permanante déjà ouverte sur cet hote, avec le même nom d'utilisateur et de mot de passe. Si une telle connexion est trouvée, son identifiant est retourné, sans ouvrir de nouvelle connexion. </para> <para> Deuxièmement, la connexion au serveur MySQL ne sera pas terminée avec la fin du script. Au lieu de cela, le lien sera conservé pour un prochain accès (<function>fbsql_close</function> ne terminera pas une connexion persistante établie par <function>fbsql_pconnect</function>). </para> <para> C'est pourquoi ce type de connexion est dite 'persistante'. </para> </refsect1> </refentry> <refentry id="function.fbsql-query"> <refnamediv> <refname>fbsql_query</refname> <refpurpose>Exécute une requête sur un serveur FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_query</function></funcdef> <paramdef>string <parameter>query</parameter></paramdef> <paramdef>resource <parameter><optional>link_identifier</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_query</function> envoie la requête <parameter>query</parameter> à la base de données courante, sur le serveur représenté par sa connexion <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte est utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_query</function> essaie d'établir une connexion en appelant la fonction <function>fbsql_connect</function> sans aucun argument. </para> <note> <para> La requête doit être terminée par un point-virgule! </para> </note> <para> <function>fbsql_query</function> retourne une ressource en cas de succès, ou <literal>FALSE</literal>, en cas d'échec. </para> <para> La requête suivante est invalide, et <function>fbsql_query</function> échouera puis retournera <literal>FALSE</literal>: <example> <title>Exemple avec <function>fbsql_query</function>(1)</title> <programlisting role="php"> <?php $result = fbsql_query ("SELECT * WHERE 1=1;") or die("Requête invalide"); ?> </programlisting> </example> </para> <para> La requête suivante est invalide si <literal>my_col</literal> n'est pas une colonne dans la table <literal>my_tbl</literal> : <function>fbsql_query</function> échouera puis retournera <literal>FALSE</literal> : <example> <title>Exemple avec <function>fbsql_query</function>(2)</title> <programlisting role="php"> <?php $result = fbsql_query ("SELECT my_col FROM my_tbl") or die ("Invalid query"); ?> </programlisting> </example> </para> <para> <function>fbsql_query</function> échouera si vous n'avez pas les droits d'accès sur l'une des bases de données utilisée dans la requête. </para> <para> Lorsque la requête réussit, vous pouvez utilisez <function>fbsql_num_rows</function> pour savoir combien de lignes ont été retournée par une requête SELECT, ou bien <function>fbsql_affected_rows</function> pour les autres requêtes (DELETE, INSERT, REPLACE et UPDATE). </para> <para> Pour les requêtes SELECT, <function>fbsql_query</function> retourne une ressource de résultat, que vous pouvez passer à <function>fbsql_result</function>. Lors vous avez fini de lire le résultat, vous pouvez libérer les ressources utilisées en appelant <function>fbsql_free_result</function>. Cependant, la mémoire sera automatiquement libérée à la fin du script. </para> <para> Voir aussi <function>fbsql_affected_rows</function>, <function>fbsql_db_query</function>, <function>fbsql_free_result</function>, <function>fbsql_result</function>, <function>fbsql_select_db</function> et <function>fbsql_connect</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-result"> <refnamediv> <refname>fbsql_result</refname> <refpurpose>Lit des données dans un résultat</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>fbsql_result</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>row</parameter></paramdef> <paramdef>mixed <parameter> <optional>field</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_result</function> lit le contenu du champs <parameter>field</parameter>, dans la ligne <parameter>row</parameter>, du résultat <parameter>result</parameter>. L'argument <parameter>field</parameter> peut être l'offset du champs, ou bien son nom, ou bien le nom de sa table plus point plus son nom. Si la colonne a été aliasée, utilisez de préférence l'alias. </para> <para> Lorsque vous travaillez sur de grands résultats, il est vivement recommandé d'utiliser les fonctions qui lisent toute une ligne d'un coup, plutôt que <function>fbsql_result</function> qui travaille ligne par ligne. Elles sont beaucoup plus rapides. Notez aussi que les offset numériques sont plus rapides que les offset nominaux. </para> <para> L'utilisation de <function>fbsql_result</function> ne doivent pas être mélangé avec d'autres fonctions qui utilisent aussi le résultat <parameter>result</parameter>. </para> <para> Alternative vivement recommandées : <function>fbsql_fetch_row</function>, <function>fbsql_fetch_array</function> et <function>fbsql_fetch_object</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-select-db"> <refnamediv> <refname>fbsql_select_db</refname> <refpurpose>Sélectionne une base de données FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>resource <function>fbsql_select_db</function></funcdef> <paramdef>string <parameter>database_name</parameter></paramdef> <paramdef>resource <parameter> <optional>link_identifier</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_select_db</function> retourne <literal>TRUE</literal> en cas de succès et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_select_db</function> remplace la base de données active courante par <parameter>database_name</parameter>, sur la connexion ouverte et représentée par <parameter>link_identifier</parameter>. Si <parameter>link_identifier</parameter> est omis, la dernière connexion ouverte sera utilisée. Si aucune connexion n'a été ouverte, <function>fbsql_select_db</function> essaiera de se connecter en appelant <function>fbsql_connect</function> sans argument. </para> <para> Le client contacte FBExec pour connaître le numéro de port à utiliser pour la connexion à la base de données. Si le nom de la base est un numéro, le système l'utilisera comme numéro de port, et ne le demandera pas à FBExec. Le serveur Frontbase peut être démarré avec la commande : <literal>FRontBase -FBExec=No -port=<port number> <database name></literal>. </para> <para> Tous les prochains appel à <function>fbsql_query</function> se feront dans la base <parameter>database_name</parameter>. </para> <para> Voir aussi <function>fbsql_connect</function>, <function>fbsql_pconnect</function> et <function>fbsql_query</function>. </para> </refsect1> </refentry> <refentry id="function.fbsql-tablename"> <refnamediv> <refname>fbsql_tablename</refname> <refpurpose>Lit le nom de la table d'un champs</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>string <function>fbsql_tablename</function></funcdef> <paramdef>resource <parameter>result</parameter></paramdef> <paramdef>int <parameter>i</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_tablename</function> retourne le nom de la table d'origine du champs <parameter>i</parameter>, dans le résultat <parameter>result</parameter>. La fonction <function>fbsql_num_rows</function> peut être utilisée pour connaître le nombre de tables dans un résultat. <example> <title>Exemple avec <function>fbsql_tablename</function></title> <programlisting role="php"> <?php fbsql_connect ("localhost:3306"); $result = fbsql_list_tables ("wisconsin"); $i = 0; while ($i < fbsql_num_rows ($result)) { $tb_names[$i] = fbsql_tablename ($result, $i); echo $tb_names[$i] . "<br>"; $i++; } ?> </programlisting> </example> </para> </refsect1> </refentry> <refentry id="function.fbsql-warnings"> <refnamediv> <refname>fbsql_warnings</refname> <refpurpose>Active ou désactive les alertes FrontBase</refpurpose> </refnamediv> <refsect1> <title>Description</title> <funcsynopsis> <funcprototype> <funcdef>boolean <function>fbsql_warnings</function></funcdef> <paramdef>boolean <parameter> <optional>OnOff</optional> </parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>fbsql_warnings</function> retourne <literal>TRUE</literal> si les alertes sont actives et <literal>FALSE</literal> en cas d'erreur. </para> <para> <function>fbsql_warnings</function> active ou désactive les alertes FrontBase suivant que <parameter>OnOff</parameter> est à <literal>TRUE</literal> ou <literal>FALSE</literal>. </para> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->