Index: phpdoc/fr/functions/pgsql.xml diff -u phpdoc/fr/functions/pgsql.xml:1.2 phpdoc/fr/functions/pgsql.xml:1.3 --- phpdoc/fr/functions/pgsql.xml:1.2 Sun Aug 13 08:41:25 2000 +++ phpdoc/fr/functions/pgsql.xml Wed Nov 15 06:23:27 2000 @@ -1,991 +1,1406 @@ - - Fonctions PostgreSQL - PostgreSQL - - - - Postgres, initialement développé au département de Science informatique, à - UC Berkeley, mis en place la majorité des concepts des bases relationnelles, - actuellement disponibles sur le marché. PostgreSQL accepte le langage SQL92/SQL3, - assure l'intégrité transactionnelle, et l'extension de type. - PostgreSQL est une évolution du code originale de Berkeley : il est Open Source et - dans le domaine public. - - - PostgreSQL est disponible sans frais. La version actuelle est disponible à - (en anglais) : www.PostgreSQL.org. - - - Depuis la version 6.3 (03/02/1998) PostgreSQL utilise les sockets UNIX, et - une table est dédiée à ces nouvelles capacités. La socket est située dans le - dossier /tmp/.s.PGSQL.5432. - Cette option peut être activée avec '-i' passé au postmaster - et cela s'interprète: "écoute sur les sockets TCP/IP et sur les sockets Unix ". -

- Postmaster and PHP - - - - Postmaster - PHP - Statut - - - - - postmaster & - pg_connect("", "", "", "", "dbname"); - OK - - - postmaster -i & - pg_connect("", "", "", "", "dbname"); - OK - - - postmaster & - pg_connect("localhost", "", "", "", "dbname"); - - Unable to connect to PostgreSQL server: connectDB() failed: Is the postmaster running and accepting TCP/IP (with -i) connection at 'localhost' on port '5432'? in /path/to/file.php3 on line 20. - : Impossible de se connecter au serveur PostgreSQL: connectDB() a échoué. Est - ce que le postmaster fonctionne, et accepte les TCP/IP (option -i) sur le port '5432'? - dans /path/to/file.php3, ligne 20 ? - - - - - postmaster -i & - pg_connect("localhost", "", "", "", "dbname"); - OK - - - -
- - - Il est possible de se connecter avec la commande suivante : - $conn = pg_Connect("host=localhost port=5432 dbname=chris"); - - - Pour utiliser l'interface des grands objets (large object (lo) interface), il - est nécessaire de les placer dans un bloc de transaction. Un bloc de transaction - commence avec begin et si la transaction se termine avec un - commit et end. Si la transaction échoue, elle - doit être conclue par un abort et rollback. - - - Utilisation des objets de grande taille (Large Objects) - -<?php -$database = pg_Connect ("", "", "", "", "jacarta"); -pg_exec ($database, "begin"); - $oid = pg_locreate ($database); - echo ("$oid\n"); - $handle = pg_loopen ($database, $oid, "w"); - echo ("$handle\n"); - pg_lowrite ($handle, "gaga"); - pg_loclose ($handle); -pg_exec ($database, "commit") -pg_exec ($database, "end") -?> - - - - - - - - pg_Close - Termine une connexion PostgreSQL. - - - Description - - bool pg_close - int connection - - - Retourne FALSE si l'index de connexion n'est pas valable, et TRUE sinon. - - - Ferme la connexion avec le serveur PostgreSQL associé à l'index de connection. - - - - - - - pg_cmdTuples - Retourne le nombre de tuples affectés. - - - Description - - int pg_cmdtuples - int result_id - - - pg_cmdTuples retourne le nombre de tuples (instances) affectés - par les requêtes INSERT, UPDATE, et DELETE. Si aucun tuple n'a été affecté, la - fonction retournera 0. - - pg_cmdtuples - -<?php -$result = pg_exec($conn, "INSERT INTO verlag VALUES ('Autor')"); -$cmdtuples = pg_cmdtuples($result); -echo $cmdtuples . " <- tuples modifiés."; -?> - - - - - - - - - pg_Connect - Ouvre une connexion. - - - Description - - int pg_connect - string host - string port - string options - string tty - string dbname - - - Retourne un index de connexion en cas de succès, et FALSE si une connexion - n'a pas pu être établie. Ouvre une connexion avec un serveur PostgreSQL. - Chaque argument doit être placé entre guillemets, y compris le numéro de port. - Les arguments options et tty sont - optionnels et peuvent être ignorés. Cette fonction retourne un index de connexion - qui sera utilisé par d'autres fonctions PostgreSQL. Vous pouvez ouvrir plusieurs - connexions simultanément. - - - Une connexion peut être aussi établie avec la commande suivante : - $conn = pg_connect("dbname=marliese port=5432"); - en dehors des paramètres dbname et port, - host, tty, options, - user et password sont des options. - - - Voir aussi pg_pConnect. - - - - - - - pg_DBname - Nom de la base de données. - - - Description - - string pg_dbname - int connection - - - Retourne le nom de la base de donnée PostgreSQL associée à l'index de connexion - connection, ou FALSE si connection n'est pas valide. - - - - - - - pg_ErrorMessage - Message d'erreur. - - - Description - - string pg_errormessage - int connection - - - Retourne une chaîne contenant le dernier message d'erreur, ou FALSE en cas - d'échec. Il sera impossible d'obtenir des détails sur l'erreur générée, en - utilisant la fonction pg_errormessage si une erreur est - survenue dans la dernière action pour laquelle une connexion valide existe. - Cette fonction retournera une chaîne contenant le message d'erreur généré par - le serveur final. - - - - - - - pg_Exec - Exécute une requête. - - - Description - - int pg_exec - int connection - string query - - - Retourne un index de résultat, si la requête a été correctement exécutée, - et FALSE en cas d'échec, ou si la connexion connection n'était pas un index - de connexion valide. En cas d'erreur, le message d'erreur peut être obtenu - grāce à la fonction pg_ErrorMessage, si l'index de connexion - était valide. Envoie une requête à un serveur PostgreSQL identifié grāce à - l'index de connexion. La réponse retournée par cette fonction est un index de - résultat qui devra être utilisé pour accéder aux lignes de résultat, grāce à - d'autres fonctions PostgreSQL. - - - PHP/FI retournait 1 lorsque la requête n'attendait pas de données en réponse - (insertion, modifcations, par exemple), et retournait un nombre plus grand - que 1, même sur un select qui donnait un ensemble vide. Ce n'est plus le cas. - - - - - - - - - pg_Fetch_Array - Lit une ligne dans un tableau. - - - Description - - array pg_fetch_array - int result - int row - int - result_type - - - - Retourne un tableau qui contient à la ligne demandée, dans le résultat identifiée - par result, et FALSE, si il ne reste plus de lignes. - - - pg_fetch_array est une version évoluée de - pg_fetch_row. En plus de proposer un tableau à indice - numérique, elle peut aussi enregistrer les données dans un tableau associatif, - en utilisant les noms des champs comme clés. - - - L'argument optionnel result_type de - pg_fetch_array est une constante, qui peut prendre les - valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH. - - - Result_type a été ajoutée en PHP 4.0. - - - - - Il est important de noter que pg_fetch_array n'est pas - significativement plus lent que pg_fetch_row, tandis qu'elle - fournit un confort d'utilisation notable. - - - Pour plus de détails, reportez vous à pg_fetch_row. - - - PostgreSQL fetch array - -<?php -$conn = pg_pconnect("","","","","publisher"); -if (!$conn) { - echo "Erreur de connexion.\n"; - exit; -} - -$result = pg_Exec ($conn, "SELECT * FROM authors"); -if (!$result) { - echo "Erreur durant la requete.\n"; - exit; -} - -$arr = pg_fetch_array ($result, 0); -echo $arr[0] . " <- array\n"; - -$arr = pg_fetch_array ($result, 1); -echo $arr["author"] . " <- array\n"; -?> - - - - - - - - pg_Fetch_Object - Lit une ligne dans un objet. - - - Description - - object pg_fetch_object - int result - int row - int - result_type - - - - Retourne un objet dont les membres sont les champs de la ligne demandée, - ou FALSE, si il n'y a plus de lignes. - - - pg_fetch_object est similaire à - pg_fetch_array, avec une différence majeure : c'est un objet - qui est retourné, au lieu d'un tableau. Par conséquent, cela signifie que vous ne - pouvez accéder aux membres qu'avec leur nom, et non plus leur offset - (les nombres ne sont pas autorisés comme nom de membre). - - - L'argument optionnel result_type de - result_type est une constante qui peut prendre les valeurs - suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH. - - - Result_type a été ajouté dans PHP 4.0. - - - - - Au niveau vitesse, cette fonction est aussi rapide que - pg_fetch_row et presque aussi rapide que - pg_fetch_row (la différence est non significative). - - - Voir aussi: pg_fetch_array et pg_fetch_row. - - Postgres fetch object - - - -Exemple 1. Postgres retourne un objet - -<?php -$database = "verlag"; -$db_conn = pg_connect ("localhost", "5432", "", "", $database); -if (!$db_conn): ?> - <H1>connexion impossible à la base postgres <? echo $database ?></H1> <? - Exit; -endif; - -$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor"); -$row = 0; // postgres réclame un compteur de ligne, d'autres bases ne le font pas. - -while ($data = pg_fetch_object ($qu, $row)): - echo $data->autor." ("; - echo $data->jahr ."): "; - echo $data->titel."<BR>"; - $row++; -endwhile; ?> - -<PRE><?php -$fields[] = Array ("autor", "Author"); -$fields[] = Array ("jahr", " Year"); -$fields[] = Array ("titel", " Title"); - -$row= 0; // postgres réclame un compteur de ligne, d'autres bases ne le font pas. - -while ($data = pg_fetch_object ($qu, $row)): - echo "----------\n"; - reset ($fields); - while (list (,$item) = each ($fields)): - echo $item[1].": ".$data->$item[0]."\n"; - endwhile; - $row++; -endwhile; -echo "----------\n"; ?> -</PRE> <?php -pg_freeResult ($qu); -pg_close ($db_conn); -?> - - - - - - - - - pg_Fetch_Row - Lit une ligne dans un tableau. - - - Description - - array pg_fetch_row - int result - int row - - - Retourne un tableau qui contient les données de la ligne demandée, - ou FALSE, si il ne reste plus de lignes. - - - pg_fetch_row lit une ligne dans le résultat associé à l'index - result. La ligne est retournée sous la forme d'un tableau. La ligne est retournée - sous la forme d'un tableau, qui commence à l'index 0. - - - Les appels ultérieurs à pg_fetch_row retourneront la ligne - d'après, ou bien FALSE, lorsqu'il n'y aura plus de lignes. - - - Voir aussi: pg_fetch_array, pg_fetch_object, - pg_result. - - - Postgres retouren une ligne - -<?php -$conn = pg_pconnect("","","","","publisher"); -if (!$conn) { - echo "Erreur.\n"; - exit; -} - -$result = pg_Exec ($conn, "SELECT * FROM authors"); -if (!$result) { - echo "Erreur.\n"; - exit; -} - -$row = pg_fetch_row ($result, 0); -echo $row[0] . " <- row\n"; - -$row = pg_fetch_row ($result, 1); -echo $row[0] . " <- row\n"; - -$row = pg_fetch_row ($result, 2); -echo $row[1] . " <- row\n"; -?> - - - - - - - - - pg_FieldIsNull - Teste si un champs est à NULL. - - - Description - - int pg_fieldisnull - int result_id - int row - mixed field - - - Teste si un champs est à NULL. Retourne 0 si le champs n'est pas NULL. - Retourne 1 si le champs est à NULL. Le champs peut être identifié avec son - nom ou son index numérique (commencant à 0). - - - - - - - pg_FieldName - Retourne le nom d'un champs. - - - Description - - string pg_fieldname - int result_id - int field_number - - - pg_FieldName va retourne le nom du champs qui occupe la - colonne numéro field_number dans le résultat - result_id. La numérotation des champs commence à 0. - - - - - - - pg_FieldNum - Retourne le numéro d'une colonne. - - - Description - - int pg_fieldnum - int result_id - string field_name - - - pg_FieldNum retourne le numéro de la colonne, dont le nom est - field_name, dans le résultat result_id. - La numérotation des champs commence à 0. Cette fonction retournera -1 en cas - d'erreur. - - - - - - - pg_FieldPrtLen - Retourne la taille imprimée. - - - Description - - int pg_fieldprtlen - int result_id - int row_number - string field_name - - - pg_FieldPrtLen retourne la taille imprimée (nombre de - caractères) d'une valeur donnée dans un résultat PostgreSQL. La numérotation des - lignes commence à 0. Cette fonction retourne -1 en cas d'erreur. - - - - - - - pg_FieldSize - - Retourne la taille interne de stockage d'un champs donné. - - - - Description - - int pg_fieldsize - int result_id - int field_number - - - pg_FieldSize retourne la taille interne de stockage - d'un champs donné, en octets. Retourne -1 si la taille est variable. Retourne - FALSE en cas d'erreur. - - - - - - - pg_FieldType - - Retourne le type d'un champs donné par index. - - - - Description - - string pg_fieldtype - int result_id - int field_number - - - pg_FieldType retourne une chaîne contenant le type du champs - donné par son index field_number . La numérotation des champs commence à 0. - - - - - - - pg_FreeResult - Libère la mémoire - - - Description - - int pg_freeresult - int result_id - - - pg_FreeResult n'est vraiment utile que si vous risquez - d'utiliser trop de mémoire durant votre script. La mémoire occupée par les - résultats est automatiquement libérée à la fin du script. Mais, si vous êtes - sûr de ne pas avoir besoin du résultat ultérieurement, vous pouvez appeler - pg_FreeResult avec l'index de résultat comme argument, et - la mémoire sera libérée. - - - - - - - pg_GetLastOid - Retourne le dernier identifiant d'objet. - - - Description - - int pg_getlastoid - int result_id - - - pg_GetLastOid sert à lire l' Oid assigné à un tuple inséré, - si l'index de résultat a été obtenu avec la fonction pg_Exec, - dont la requête était exclusivement SQL INSERT. Cette fonction retourne un entier - positif si un Oid valide a été trouvé. Elle retournera -1 si une erreur est - survenue, ou si la dernière commande n'était pas un INSERT. - - - - - - - pg_Host - Retourne le nom d'hôte. - - - Description - - string pg_host - int connection_id - - - pg_Host retourne le nom d'hôte associé à l'index de - connexion PostgreSQL. - - - - - - - pg_loclose - Ferme un objet de grande taille. - - - Description - - void pg_loclose - int fd - - - pg_loclose ferme un objet de type Inversion Large Object. - fd est un descripteur de fichier, obtenu avec - pg_loopen. - - - - - - - pg_locreate - Crée un objet de grande taille. - - - Description - - int pg_locreate - int conn - - - pg_locreate crée un objet de type Inversion Large Object - et retourne son Oid. conn doit être une connexion valide - avec une base de données PostgreSQL. Les modes d'accès PostgreSQL INV_READ, - INV_WRITE, et INV_ARCHIVE ne sont pas supportés : l'objet peut toujours être - créé, avec des droits d'accès en lecture et écriture. Le mode INV_ARCHIVE a été - supprimé des bases PostgreSQL (version 6.3 et ultérieur). - - - - - - - pg_loopen - Ouvre un objet de grande taille. - - - Description - - int pg_loopen - int conn - int objoid - string mode - - - pg_loopen ouvre un objet de type Inversion Large Object - et retourne un descripteur de fichier pour cet objet. Le descripteur de fichier - contient les informations de connexion. Ne refermez pas la connexion avant - d'avoir fermé l'objet. objoid est un Oid valide de - Large Object, et mode peut prendre es valeurs suivantes - : "r", "w", ou "rw". - - - - - - - pg_loread - Lit un objet de grande taille. - - - Description - - string pg_loread - int fd - int len - - - pg_loread lit au plus len octets - d'un objet de grande taille, et retourne les données sous la forme d'une chaîne. - fd est un identifiant valide d'objet de grande taille, et - len indique la taille maximale de mémoire alloué à l'objet - de grande taille. - - - - - - - pg_loreadall - Lit un objet de grande taille en totalité. - - - Description - - void pg_loreadall - int fd - - - pg_loreadall lit un objet de grande taille en totalité et le - passe directement au client, après les entêtes adéquats. Cette fonction est prévue - pour transmettre des sons ou des images. - - - - - - - pg_lounlink - Efface un objet de grande taille - - - Description - - void pg_lounlink - int conn - int lobjid - - - pg_lounlink efface l' objet de grande taille dont - l'identifiant est lobjid. - - - - - - - pg_lowrite - Ecrit un objet de grande taille - - - Description - - int pg_lowrite - int fd - string buf - - - pg_lowrite écrit dans l'objet de grande taille autant de - données possible, issues de la variable buf et - retourne le nombre d'octets réellement écrits, ou FALSE en cas d'erreur. - fd est un descripteut d'objet de grande taille, obtenu avec - pg_loopen. - - - - - - - pg_NumFields - Retourne le nombre de champs - - - Description - - int pg_numfields - int result_id - - - pg_NumFields retourne le nombre de champs ou (colonnes) d'un - résultat PostgreSQL. L'argument doit être un identifiant de résultat valide - retourné par pg_Exec. Cette fonction retournera -1 en cas - d'erreur. - - - - - - - pg_NumRows - Retourne le nombre de lignes. - - - Description - - int pg_numrows - int result_id - - - pg_NumRows retourne le nombre de lignes d'un résultat - PostgreSQL. L'argument doit être un identifiant de résultat valide retourné par - pg_Exec. Cette fonction retournera -1 en cas d'erreur. - - - - - - - pg_Options - Retourne les options. - - - Description - - string pg_options - int connection_id - - - pg_Options retourne une chaîne contenant les options de la - connexion PostgreSQL. - - - - - - - pg_pConnect - - Etablit une connexion persistante. - - - - Description - - int pg_pconnect - string host - string port - string options - string tty - string dbname - - - Retourne un index de connexion en cas de succès, ou FALSE en cas d'erreur. - Ouvre une connexion permanente à une base PostgreSQL. Chacun des arguments doit - être entre guillemets, y compris le numéro de port. Les arguments - options et tty sont optionnels, et - peuvent être ignorés. Cette fonction retourne un index de connexion, nécessaire aux - autres fonctions PostgreSQL. Vous pouvez établir plusieurs connexion persistantes - en même temps. Voir aussi pg_Connect. - - - Une connexion peut aussi être établie avec la commande suivante : - $conn = pg_pconnect("dbname=marliese port=5432"); - les autres paramètres en dehors de dbname et - port sont host, - tty, options, - user et password sont optionnels. - - - - - - - pg_Port - Retourne le numéro de port. - - - Description - - int pg_port - int connection_id - - - pg_Port retourne le numéro de port de la connexion identifiée - connection_id. - - - - - - - pg_Result - Retourne les valeurs d'un identifiant de résultat. - - - Description - - mixed pg_result - int result_id - int row_number - mixed fieldname - - - pg_Result retourne les valeurs d'un identifiant de résultat, - produit par pg_Exec. Les arguments - row_number et fieldname précisent - la cellule qui sera retournée. La numérotation des lignes commence à 0. Au lieu - d'utiliser le nom du champs, vous pouvez utiliser son index, sous la forme d'un - nombre sans guillemets. La numérotation des champs commence à 0. - - - PostgreSQL dispose de nombreux types, et seuls, les types basiques sont supportés - ici. Toutes les formes d'entier, booléen et Oid sont retournés sous la forme - d'entiers. Toutes les formes de nombre à virgule flottante et types réels sont - retournés sous la forme d'une valeur de type double. Tous les autres types, y - compris les tableaux, sont retournés sous la forme de chaînes formatées, au format - par défaut de PostgreSQL. - - - - - - - pg_tty - Retourne le nom de tty. - - - Description - - string pg_tty - int connection_id - - - pg_ttyretourne le nom de tty de la connexion associée à - connection_id. - - - - - - - + + Fonctions PostgreSQL + PostgreSQL + + + + Postgres, initialement développé au département de + Science informatique, à UC Berkeley, mis en place la majorité + des concepts des bases relationnelles, actuellement disponibles sur le + marché. PostgreSQL accepte le langage SQL92/SQL3, assure + l'intégrité transactionnelle, et l'extension de type. + PostgreSQL est une évolution du code originale de Berkeley : + il est Open Source et dans le domaine public. + + + PostgreSQL est disponible sans frais. La version actuelle est disponible à + (en anglais) : www.PostgreSQL.org. + + + Depuis la version 6.3 (03/02/1998) PostgreSQL utilise les sockets UNIX, et + une table est dédiée à ces nouvelles capacités. + La socket est située dans le dossier + /tmp/.s.PGSQL.5432. Cette option peut être + activée avec '-i' passé au postmaster + et cela s'interprète: "écoute sur les sockets TCP/IP et sur + les sockets Unix". + + Postmaster et PHP + + + + Postmaster + PHP + Statut + + + + + postmaster & + pg_connect("dbname=MonDbName"); + OK + + + postmaster -i & + pg_connect("dbname=MonDbName"); + OK + + + postmaster & + pg_connect("host=localhost dbname=MonDbName"); + + Unable to connect to PostgreSQL server: connectDB() failed: + Impossible de se connecter au serveur PostgreSQL: + connectDB() a échoué. Est ce que le postmaster fonctionne, + et accepte les TCP/IP (option -i) sur le port '5432'? + + + + postmaster -i & + pg_connect("host=localhost dbname=MonDbName"); + OK + + + +
+
+ + Il est possible de se connecter avec la commande suivante : + $conn = pg_Connect("host=monHote port=monPort tty=monTTY + options=mesOptions user=monUser password=monPassword dbname=maDB"); + + + + L'ancienne syntaxe : + $conn = pg_connect ("host", "port", "options", "tty", "dbname") + est obsolète. + + + Pour utiliser l'interface des grands objets (large object (lo) interface), il + est nécessaire de les placer dans un bloc de transaction. Un bloc de + transaction commence avec begin et si la transaction se + termine avec un commit et end. Si la + transaction échoue, elle doit être conclue par un + abort et rollback. + + + Utilisation des objets de grande taille (Large Objects) + +<?php +$database = pg_Connect ("", "", "", "", "jacarta"); +pg_exec ($database, "begin"); + $oid = pg_locreate ($database); + echo ("$oid\n"); + $handle = pg_loopen ($database, $oid, "w"); + echo ("$handle\n"); + pg_lowrite ($handle, "gaga"); + pg_loclose ($handle); +pg_exec ($database, "commit") +pg_exec ($database, "end") +?> + + + +
+ + + + pg_Close + Termine une connexion PostgreSQL. + + + Description + + + bool pg_close + int connection + + + + Retourne FALSE si l'index de connexion n'est pas valable, et TRUE sinon. + Ferme la connexion au serveur PostgreSQL associé à + connection. + + + + Il n'est généralement pas nécessaire de fermer une connexion + non persistante, car elles sont automatiquement fermées à la fin + d'un script. + + + + pg_close ne ferme pas les connexions persistantes + ouvertes avec pg_pconnect. + + + + + + + pg_cmdTuples + Retourne le nombre de tuples affectés. + + + Description + + + int pg_cmdtuples + int result_id + + + + pg_cmdtuples retourne le nombre de tuples (instances) + affectés par les requêtes INSERT, UPDATE, et DELETE. Si aucun + tuple n'a été affecté, la fonction retournera 0. + + pg_cmdtuples + +<?php +$result = pg_exec($conn, "INSERT INTO verlag VALUES ('Auteur')"); +$cmdtuples = pg_cmdtuples($result); +echo $cmdtuples . " <- tuples modifiés."; +?> + + + + + + + + + pg_Connect + Ouvre une connexion. + + + Description + + + int pg_connect + string conn_string + + + + conn_string retourne un index de + connexion en cas de succès, et FALSE sinon. Ouvre une connexion + à un serveur PostgreSQL. Les arguments doivent être placé entre + guillemets. + + Using pg_connect arguments + +<?php +$dbconn = pg_Connect ("dbname=marie"); +//connexion à une base de données nommée "marie" +$dbconn2 = pg_Connect ("host=localhost port=5432 dbname=marie"); +//connexion à une base de données nommée "marie" sur l'hôte "localhost" sur le port "5432" +$dbconn3 = pg_Connect ("user=agneau password=baaaa dbname=marie "); +//connexion à une base de données nommée "marie" avec l'utilisateur "agneau" et le mot de passe "baaaa" +?> + + + Les arguments disponbiles comptent notamment dbname + port, host, + tty, options, + user, et password + + + Cette fonctoin retourne un index de connexion qui sera nécessaire + aux autres fonctions PostgreSQL. Vous pouvez ouvrir plusieurs connexions + simultanées. + + + L'ancienne syntaxe + $conn = pg_connect ("host", "port", "options", "tty", "dbname") + est obsolète. + + + Voir aussi pg_pconnect. + + + + + + + pg_DBname + Nom de la base de données. + + + Description + + + string pg_dbname + int connection + + + + Retourne le nom de la base de donnée PostgreSQL associée à l'index de connexion + connection, ou FALSE si connection n'est pas valide. + + + + + + + pg_end_copy + Synchronise avec le serveur PostgreSQL + + + Description + + + bool pg_end_copy + resource + connection + + + + + pg_end_copy synchronise le client PostgreSQL (ici PHP) + avec le serveur, après une opération de copie. Il faut utiliser cette + fonction, sous peine de recevoir une erreur "out of sync" + (désynchronisé). Retourne TRUE en cas de succès, et FALSE sinon. + + + Pour plus de détails et un exemple voyez : pg_put_line. + + + + + + + pg_ErrorMessage + Message d'erreur. + + + Description + + + string pg_errormessage + int connection + + + + Retourne une chaîne contenant le dernier message d'erreur, ou FALSE + en cas d'échec. Il sera impossible d'obtenir des détails sur + l'erreur générée, en utilisant la fonction + pg_errormessage si une erreur est survenue dans + la dernière action pour laquelle une connexion valide existe. + Cette fonction retournera une chaîne contenant le message + d'erreur généré par le serveur final. + + + + + + + pg_Exec + Exécute une requête. + + + Description + + + int pg_exec + int connection + string query + + + + Retourne un index de résultat, si la requête a été + correctement exécutée, et FALSE en cas d'échec, ou si + la connexion connection n'était pas un index de connexion valide. En + cas d'erreur, le message d'erreur peut être obtenu grâce à la + fonction pg_errormessage, si l'index de connexion + était valide. Envoie une requête à un serveur + PostgreSQL identifié grāce à l'index de connexion. La + réponse retournée par cette fonction est un index de + résultat qui devra être utilisé pour accéder + aux lignes de résultat, grāce à d'autres fonctions PostgreSQL. + + + PHP/FI retournait 1 lorsque la requête n'attendait pas de + données en réponse (insertion, modifcations, par exemple), + et retournait un nombre plus grand que 1, même sur un select qui + donnait un ensemble vide. Ce n'est plus le cas. + + + + + + + + + pg_Fetch_Array + Lit une ligne dans un tableau. + + + Description + + + array pg_fetch_array + int result + int row + int + result_type + + + + + Retourne un tableau qui contient à la ligne demandée, dans + le résultat identifiée par result, et FALSE , si il ne + reste plus de lignes. + + + pg_fetch_array est une version évoluée de + pg_fetch_row. En plus de proposer un tableau à + indice numérique, elle peut aussi enregistrer les données + dans un tableau associatif, en utilisant les noms des champs comme + clés. + + + L'argument optionnel result_type de + pg_fetch_array est une constante, qui peut prendre les + valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH. + + + result_type a été ajoutée en + PHP 4.0. + + + + + Il est important de noter que pg_fetch_array n'est pas + significativement plus lent que pg_fetch_row, tandis + qu'elle fournit un confort d'utilisation notable. + + + Pour plus de détails, reportez vous à + pg_fetch_row. + + + PostgreSQL fetch array + +<?php +$conn = pg_pconnect ("dbname=publisher"); +if (!$conn) { + echo "Erreur de connexion.\n"; + exit; +} + +$result = pg_exec ($conn, "SELECT * FROM authors"); +if (!$result) { + echo "Erreur durant la requete.\n"; + exit; +} + +$arr = pg_fetch_array ($result, 0); +echo $arr[0] . " <- array\n"; + +$arr = pg_fetch_array ($result, 1); +echo $arr["author"] . " <- array\n"; +?> + + + + + + + + pg_Fetch_Object + Lit une ligne dans un objet. + + + Description + + + object pg_fetch_object + int result + int row + int + result_type + + + + + Retourne un objet dont les membres sont les champs de la ligne demandée, + ou FALSE , si il n'y a plus de lignes. + + + pg_fetch_object est similaire à + pg_fetch_array, avec une différence majeure : + c'est un objet qui est retourné, au lieu d'un tableau. Par + conséquent, cela signifie que vous ne pouvez accéder aux + membres qu'avec leur nom, et non plus leur offset + (les nombres ne sont pas autorisés comme nom de membre). + + + L'argument optionnel result_type de + result_type est une constante qui peut prendre les + valeurs suivantes : PGSQL_ASSOC, PGSQL_NUM, et PGSQL_BOTH. + + + result_type a été ajouté dans PHP 4.0. + + + + + Au niveau vitesse, cette fonction est aussi rapide que + pg_fetch_row et presque aussi rapide que + pg_fetch_row (la différence est non significative). + + + Voir aussi: pg_fetch_array et pg_fetch_row. + + Postgres fetch object + +<?php +$database = "verlag"; +$db_conn = pg_connect ("host=localhost port=5432 dbname=$database"); +if (!$db_conn): ?> + <H1>connexion impossible à la base postgres <? echo $database ?></H1> <? + Exit; +endif; + +$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor"); +$row = 0; // postgres réclame un compteur de ligne, d'autres bases ne le font pas. + +while ($data = pg_fetch_object ($qu, $row)): + echo $data->autor." ("; + echo $data->jahr ."): "; + echo $data->titel."<BR>"; + $row++; +endwhile; ?> + +<PRE><?php +$fields[] = Array ("autor", "Author"); +$fields[] = Array ("jahr", " Year"); +$fields[] = Array ("titel", " Title"); + +$row= 0; // postgres réclame un compteur de ligne, d'autres bases ne le font pas. + +while ($data = pg_fetch_object ($qu, $row)): + echo "----------\n"; + reset ($fields); + while (list (,$item) = each ($fields)): + echo $item[1].": ".$data->$item[0]."\n"; + endwhile; + $row++; +endwhile; +echo "----------\n"; ?> +</PRE> <?php +pg_freeresult ($qu); +pg_close ($db_conn); +?> + + + + + + + + + pg_Fetch_Row + Lit une ligne dans un tableau. + + + Description + + + array pg_fetch_row + int result + int row + + + + Retourne un tableau qui contient les données de la ligne demandée, + ou FALSE , si il ne reste plus de lignes. + + + pg_fetch_row lit une ligne dans le résultat + associé à l'index result. La ligne est + retournée sous la forme d'un tableau. La ligne est retournée + sous la forme d'un tableau, qui commence à l'index 0. + + + Les appels ultérieurs à pg_fetch_row + retourneront la ligne d'après, ou bien FALSE, lorsqu'il n'y aura + plus de lignes. + + + Voir aussi: pg_fetch_array, + pg_fetch_object et pg_result. + + Postgres retourne une ligne + +<?php +$conn = pg_pconnect ("dbname=publisher"); +if (!$conn) { + echo "An error occured.\n"; + exit; +} + +$result = pg_Exec ($conn, "SELECT * FROM authors"); +if (!$result) { + echo "An error occured.\n"; + exit; +} + +$num = pg_numrows($result); + +for ($i=0; $i<$num; $i++) { + $r = pg_fetch_row($result, $i); + + for ($j=0; $j<count($r); $j++) { + echo "$r[$j]&nbsp;"; + } + echo "<BR>"; +} +?> + + + + + + + + + pg_FieldIsNull + Teste si un champs est à NULL. + + + Description + + + int pg_fieldisnull + int result_id + int row + mixed field + + + + Teste si un champs est à NULL. Retourne 0 si le champs n'est pas NULL. + Retourne 1 si le champs est à NULL. Le champs peut être + identifié avec son nom ou son index numérique + (commencant à 0). + + + + + + + pg_FieldName + Retourne le nom d'un champs. + + + Description + + + string pg_fieldname + int result_id + int field_number + + + + pg_fieldname va retourne le nom du champs qui occupe la + colonne numéro field_number dans le + résultat result_id. La numérotation + des champs commence à 0. + + + + + + + pg_FieldNum + Retourne le numéro d'une colonne. + + + Description + + + int pg_fieldnum + int result_id + string field_name + + + + pg_fieldnum retourne le numéro de la colonne, + dont le nom est field_name, dans le résultat + result_id. La numérotation des champs commence + à 0. Cette fonction retournera -1 en cas d'erreur. + + + + + + + pg_FieldPrtLen + Retourne la taille imprimée. + + + Description + + + int pg_fieldprtlen + int result_id + int row_number + string field_name + + + + pg_fieldprtlen retourne la taille imprimée + (nombre de caractères) d'une valeur donnée dans un + résultat PostgreSQL. La numérotation des lignes commence + à 0. Cette fonction retourne -1 en cas d'erreur. + + + + + + + pg_FieldSize + + Retourne la taille interne de stockage d'un champs donné. + + + + Description + + + int pg_fieldsize + int result_id + int field_number + + + + pg_fieldsize retourne la taille interne de stockage + d'un champs donné, en octets. Retourne -1 si la taille est variable. + RetourneFALSEen cas d'erreur. La numérotation des colonnes + commence à 0. + + + + + + + pg_FieldType + + Retourne le type d'un champs donné par index. + + + + Description + + + string pg_fieldtype + int result_id + int field_number + + + + pg_fieldtype retourne une chaîne contenant + le type du champs donné par son index field_number . La + numérotation des champs commence à 0. + + + + + + + pg_FreeResult + Libère la mémoire + + + Description + + + int pg_freeresult + int result_id + + + + pg_freeresult n'est vraiment utile que si vous risquez + d'utiliser trop de mémoire durant votre script. La mémoire + occupée par les résultats est automatiquement + libérée à la fin du script. Mais, si vous êtes + sûr de ne pas avoir besoin du résultat ultérieurement, + vous pouvez appeler pg_freeresult avec l'index de + résultat comme argument, et la mémoire sera libérée. + + + + + + + pg_GetLastOid + Retourne le dernier identifiant d'objet. + + + Description + + + int pg_getlastoid + int result_id + + + + pg_getlastoid sert à lire l' Oid assigné + à un tuple inséré, si l'index de résultat a + été obtenu avec la fonction pg_exec, + dont la requête était exclusivement SQL INSERT. Cette fonction + retourne un entier positif si un Oid valide a été trouvé. + Elle retournera -1 si une erreur est survenue, ou si la dernière + commande n'était pas un INSERT. + + + + + + + pg_Host + Retourne le nom d'hôte. + + + Description + + + string pg_host + int connection_id + + + + pg_host retourne le nom d'hôte associé + à l'index de connexion PostgreSQL. + + + + + + + pg_loclose + Ferme un objet de grande taille. + + + Description + + + void pg_loclose + int fd + + + + pg_loclose ferme un objet de type Inversion Large Object. + fd est un descripteur de fichier, obtenu avec + pg_loopen. + + + + + + + pg_locreate + Crée un objet de grande taille. + + + Description + + + int pg_locreate + int conn + + + + pg_locreate crée un objet de type Inversion + Large Object et retourne son Oid. conn doit être + une connexion valide avec une base de données PostgreSQL. Les modes + d'accès PostgreSQL INV_READ, INV_WRITE, et INV_ARCHIVE ne sont pas + supportés : l'objet peut toujours être créé, avec + des droits d'accès en lecture et écriture. Le mode INV_ARCHIVE + a été supprimé des bases PostgreSQL (version 6.3 et + ultérieur). + + + + + + + pg_loexport + Exporte un objet de grande vers un fichier + + + Description + + + bool pg_loexport + int + oid + + int + file + + int + connection_id + + + + + oid est un identifiant d'objet de grande taille + qui sera exporté dans le fichier filename, qui + spécifie son chemin. RetourneFALSEsi une erreur survient, + et TRUE en cas de succès. N'oubliez pas que la manipulation d'un + objet de grande taille dans PostgreSQL doit intervenir dans une + transaction. + + + + + + + pg_loimport + Importe un objet de grande taille depuis un fichier + + + Description + + + int pg_loimport + int + file + + int + connection_id + + + + + filename est le chemin jusqu'à un fichier + qui servira de source pour créer un objet de grande taille. + La fonction retourneFALSEen cas d'erreur, et sinon + un identifiant d'objet, créé directement à la bonne taille. + N'oubliez pas que la manipulation d'un objet de grande taille + dans PostgreSQL doit intervenir dans une transaction. + + + + + + + pg_loopen + Ouvre un objet de grande taille. + + + Description + + + int pg_loopen + int conn + int objoid + string mode + + + + pg_loopen ouvre un objet de type Inversion Large Object + et retourne un descripteur de fichier pour cet objet. Le descripteur de fichier + contient les informations de connexion. Ne refermez pas la connexion avant + d'avoir fermé l'objet. objoid est un Oid valide de + Large Object, et mode peut prendre es valeurs suivantes + : "r", "w", ou "rw". + + + + + + + pg_loread + Lit un objet de grande taille. + + + Description + + + string pg_loread + int fd + int len + + + + pg_loread lit au plus len octets + d'un objet de grande taille, et retourne les données sous la forme + d'une chaîne. fd est un identifiant valide + d'objet de grande taille, et len indique la taille + maximale de mémoire alloué à l'objet de grande taille. + + + + + + + pg_loreadall + Lit un objet de grande taille en totalité. + + + Description + + + void pg_loreadall + int fd + + + + pg_loreadall lit un objet de grande taille en + totalité et le passe directement au client, après les + entêtes adéquats. Cette fonction est prévue + pour transmettre des sons ou des images. + + + + + + + pg_lounlink + Efface un objet de grande taille + + + Description + + + void pg_lounlink + int conn + int lobjid + + + + pg_lounlink efface l' objet de grande taille dont + l'identifiant est lobjid. + + + + + + + pg_lowrite + Ecrit un objet de grande taille + + + Description + + + int pg_lowrite + int fd + string buf + + + + pg_lowrite écrit dans l'objet de grande + taille autant de données possible, issues de la variable + buf et retourne le nombre d'octets + réellement écrits, ouFALSEen cas d'erreur. + fd est un descripteut d'objet de grande taille, + obtenu avec pg_loopen. + + + + + + + pg_NumFields + Retourne le nombre de champs + + + Description + + + int pg_numfields + int result_id + + + + pg_numfields retourne le nombre de champs ou + (colonnes) d'un résultat PostgreSQL. L'argument doit être + un identifiant de résultat valide retourné par + pg_exec. Cette fonction retournera -1 en cas d'erreur. + + + + + + + pg_NumRows + Retourne le nombre de lignes. + + + Description + + + int pg_numrows + int result_id + + + + pg_numrows retourne le nombre de lignes + d'un résultat PostgreSQL. L'argument doit être un + identifiant de résultat valide retourné par + pg_exec. Cette fonction retournera -1 en cas d'erreur. + + + + + + + pg_Options + Retourne les options. + + + Description + + + string pg_options + int connection_id + + + + pg_options retourne une chaîne contenant + les options de la connexion PostgreSQL. + + + + + + + pg_pConnect + + Etablit une connexion persistante. + + + + Description + + + int pg_pconnect + string conn_string + + + + Retourne un index de connexion en cas de succès, ou + FALSEen cas d'erreur. Ouvre une connexion permanente à + une base PostgreSQL. Les arguments doivent être insérés dans une + chaîne à guillemets. Ils incluent : dbname + port, host, + tty, options, + user, et password + + + pg_pconnect retourne un indentifiant de + connexion qui sera utilisées par les autres fonctions PostgreSQL. + Vous pouvez ouvrir plusieurs connexions en même temps. + + + L'ancienne syntaxe + $conn = pg_pconnect ("host", "port", "options", "tty", "dbname") + est obsolète. + + + + + + + pg_Port + Retourne le numéro de port. + + + Description + + + int pg_port + int connection_id + + + + pg_port retourne le numéro de port de + la connexion identifiée connection_id. + + + + + + + pg_put_line + Envoie une chaîne au serveur PostgreSQL + + + Description + + + bool pg_put_line + resource + connection_id + + string data + + + + pg_put_line envoie une chaîne (terminée + par NULL) au serveur PostgreSQL. Ceci est pratique pour effectuer + des insertions très rapides dans une table, initiée par une + opération de copie PostgreSQL copy-operation. Le caractère final NULL + est automatiquement ajouté. Retourne TRUE en cas de succès, et + FALSE. + + + + Notez que l'application doit explicitement ajouter les deux caractères + "\." à la fin de la chaîne pour indiquer au serveur qu'elle a finit + d'envoyer des données. + + + + Voir aussi pg_end_copy. + + Insertion à grande vitesse dans une table + +<?php + $conn = pg_pconnect ("dbname=foo"); + pg_exec($conn, "create table bar (a int4, b char(16), d float8)"); + pg_exec($conn, "copy bar from stdin"); + pg_put_line($conn, "3\tBonjour le monde\t4.5\n"); + pg_put_line($conn, "4\tAu revoir le monde\t7.11\n"); + pg_put_line($conn, "\\.\n"); + pg_end_copy($conn); +?> + + + + + + + + + pg_Result + Retourne les valeurs d'un identifiant de résultat. + + + Description + + + mixed pg_result + int result_id + int row_number + mixed fieldname + + + + pg_result retourne les valeurs d'un identifiant de + résultat, produit par pg_exec. Les arguments + row_number et fieldname + précisent la cellule qui sera retournée. La numérotation + des lignes commence à 0. Au lieu d'utiliser le nom du champs, vous + pouvez utiliser son index, sous la forme d'un nombre sans guillemets. La + numérotation des champs commence à 0. + + + PostgreSQL dispose de nombreux types, et seuls, les types basiques sont + supportés ici. Toutes les formes d'entier, booléen et Oid + sont retournés sous la forme d'entiers. Toutes les formes de nombre + à virgule flottante et types réels sont retournés sous + la forme d'une valeur de type double. Tous les autres types, y compris les + tableaux, sont retournés sous la forme de chaînes formatées, + au format par défaut de PostgreSQL. + + + + + + + pg_set_client_encoding + + Choisi l'encodage du client + + + + Description + + + int pg_set_client_encoding + int + connection + + string encoding + + + + pg_set_client_encoding fixe l'encodage du client. + Elle retourne 0 en cas de succès, et -1 sinon. + + + encoding est l'encodage du client, et peut être + SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, + MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, + SJIS, BIG5, WIN1250. + + + + Cette fonction requiert PHP-4.0.2 ou plus récent et PostgreSQL-7.0 ou + plus récent. + + + Jadis, pg_set_client_encoding s'appelait + pg_setclientencoding. + + + + Voir aussi pg_client_encoding. + + + + + + + pg_client_encoding + + Lit l'encodage du client + + + + Description + + + string pg_client_encoding + int + connection + + + + + pg_client_encoding retourne l'encodage du client. + Elle retourne une des valeurs suivantes : + SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, + MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, + SJIS, BIG5, WIN1250. + + + + Cette fonction requiert PHP-4.0.2 ou plus récent et PostgreSQL-7.0 ou + plus récent. + + + Jadis, pg_client_encoding s'appelait + pg_clientencoding. + + + + Voir aussipg_set_client_encoding. + + + + + + + pg_trace + Active le suivi d'une connexion PostgreSQL + + + Description + + + bool pg_trace + string + filename + + string + mode + + int + connection + + + + + Active le suivi des communication entre PHP et le serveur PostgreSQL. + Cet historique sera enregistré dans un fichier. Pour comprendre ces + lignes, il faut être familier avec le protocole de communication + interne à PostgreSQL. Pour ceux qui le ne sont pas, + elles peuvent être utiles pour suivre les requêtes et les erreurs : + avec la commande grep '^To backend' trace.log, vous + pourrez voir les requêtes réellement envoyées au serveur PostgreSQL. + + + filename et mode + sont les mêmes arguments que pour la fonction fopen + (mode par défaut à 'w'), + connection indique la connexion à suivre. + Par défaut, c'est la dernière ouverte. + + + Retourne TRUE si filename a pu être ouvert en + écriture, etFALSEsinon. + + + Voir aussi fopen et pg_untrace. + + + + + + + pg_tty + Retourne le nom de tty. + + + Description + + string pg_tty + int connection_id + + + pg_ttyretourne le nom de tty de la connexion associée à + connection_id. + + + + + + + pg_untrace + Termine le suivi d'une connexion PostgreSQL + + + Description + + + bool pg_untrace + int + connection + + + + + Termine le suivi d'une connexion PostgreSQL, initiée avec pg_trace. + connection indique la connexion à suivre. + Par défaut, c'est la dernière ouverte. + + + Retourne toujours TRUE. + + + Voir aussi pg_trace. + + + + +
+ +