Le langage PHP dispose de nombreuses fonctions permettant de travailler sur des bases de données PostgreSQL.
| Fonction |
|---|
| Description |
| true | false = pg_close($id_connexion); |
| ferme une connexion PostgreSQL. |
| $nb_instances | false = pg_affected_rows($id_resultats); |
| retourne le nombre d'instances (tuples) affectées. (PHP < 4.2 : pg_cmdTuples) |
| $id_connex = pg_connect({$nom_hote, $port_hote [, $options [, $tty [, $nom_base]]]} | $chaine_connection); |
| ouvre une connexion à un serveur PostgreSQL. |
| $nom = pg_dbname($id_connexion); |
| retourne le nom de la base de données. |
| true | false = pg_end_copy($id_connexion); |
| synchronise le client avec le serveur PostgreSQL. |
| $message = pg_ErrorMessage($id_connexion); |
| retourne un message d'erreur. |
| $id_resultat = pg_query($id_connexion, $requete); |
| exécute une requête sur le serveur et retourne un identifiant de résultat. (PHP < 4.2 : pg_exec) |
| $tab_valeurs | false = pg_fetch_array($id_resultat, num_enregistrement [, $type]); |
| retourne les valeurs d'un enregistrement dans un tableau d'un type associatif (PGSQL_ASSOC), indicé (PGSQL_NUM) ou des deux (PGSQL_BOTH). |
| $obj_valeurs = pg_fetch_object($id_resultat, $num_enregistrement); |
| retourne les valeurs d'un enregistrement dans un objet. |
| $tab_valeurs = pg_fetch_row($id_resultat, $num_enregistrement); |
| retourne les valeurs d'un enregistrement dans un tableau indicé. |
| true | false = pg_field_is_null($id_resultat, $num_enregistrement, $position_champ); |
| vérifie si un champ possède une valeur égale à NULL. (PHP < 4.2 : pg_FieldIsNull) |
| $chaine = pg_field_name($id_resultat, $position_champ); |
| retourne le nom d'un champ dans un résultat. (PHP < 4.2 : pg_FieldName) |
| $position | -1 = pg_field_num($id_resultat, $nom_champ); |
| retourne la position d'un champ dans un résultat. (PHP < 4.2 : pg_FieldNum) |
| $taille | -1 = pg_field_prtlen($id_resultat, $num_enregistrement, $position_champ); |
| retourne la taille imprimée du champ d'un enregistrement dans un résultat. (PHP < 4.2 : pg_FieldPrtLen) |
| $taille| false = pg_field_size($id_resultat, $position_champ); |
| retourne la taille en octets d'un champ dans un résultat. (PHP < 4.2 : pg_FieldSize) |
| $type | false = pg_field_type($id_resultat, $position_champ); |
| retourne le type d'un champ dans un résultat. Si la taille est variable, la valeur -1 sera retournée. (PHP < 4.2 : pg_FieldType) |
| true | false = pg_free_result($id_resultat); |
| libère les ressources consommées par un résultat. (PHP < 4.2 : pg_FreeResult |
| $identifiant = pg_last_oid($id_resultat); |
| retourne le dernier identifiant d'objet. (PHP < 4.2 : pg_GetLastOid) |
| $nom_hote = pg_host($id_connexion); |
| retourne le nom de l'hôte pour la connexion spécifiée. |
| pg_lo_close($id_lo); |
| ferme un objet de grande taille (LO : Large Object). (PHP < 4.2 : pg_loclose) |
| $id_lo = pg_lo_create($id_connexion); |
| crée un objet de grande taille. (PHP < 4.2 : pg_locreate) |
| true | false = pg_lo_export($id_lo, $id_fichier [, $id_connexion]); |
| exporte un objet de grande taille vers un fichier. (PHP < 4.2 : pg_loexport) |
| true | false = pg_loi_mport($id_fichier [, $id_connexion]); |
| importe un objet de grande taille à partir d'un fichier. (PHP < 4.2 : pg_loimport) |
| $id_lo = pg_lo_open($id_connexion, $obj_lo, {r | w | rw}); |
| ouvre un objet de grande taille. (PHP < 4.2 : pg_loopen) |
| $chaine = pg_lo_read($id_lo, $longueur); |
| retourne un objet de grande taille dans une chaîne de caractères. (PHP < 4.2 : pg_loread) |
| pg_lo_read_all($id_lo); |
| lit entièrement un objet de grande taille. (PHP < 4.2 : pg_loreadall) |
| = pg_lo_unlink($id_connexion, $id_lo); |
| supprime un objet de grande taille (PHP < 4.2 : pg_lounlink). |
| $nb_octets | false = pg_lo_write($id_lo, $donnee); |
| écrit des données dans un objet de grande taille. (PHP < 4.2 : pg_lowrite) |
| $nb_champs | -1 = pg_num_fields($id_resultat); |
| retourne le nombre de champs dans un résultat. (PHP < 4.2 : pg_NumFields) |
| $nb_enregistrements | -1 = pg_num_rows($id_resultat); |
| retourne le nombre d'enregistrements dans un résultat. (PHP < 4.2 : pg_NumRows) |
| $option = pg_options($id_connexion); |
| retourne les options d'une connexion SQL. |
| $id_connexion = pg_pconnect($chaine_connexion); |
| ouvre une connexion persistante sur un serveur PostgreSQL. |
| $num_port = pg_port($id_connexion); |
| retourne le numéro de port pour la connexion indiquée. |
| true | false = pg_put_line($id_connexion, $chaine); |
| envoie une chaîne de caractères au serveur PostgreSQL. |
| $valeur = pg_fetch_result($id_resultat, $num_enregistrement, $position_champ); |
| retourne la valeur d'un champ dans un enregistrement d'un résultat. (PHP < 4.2 : pg_result) |
| true | false = pg_set_client_encoding($id_connexion, $encodage); |
| détermine l'encodage du client (SQL_ASCII, UNICODE, LATINX, WIN, BIG5, WIN1250). |
| $encodage = pg_client_encoding($id_connexion); |
| retourne l'encodage du client. |
| true | false = pg_trace($fichier [, $mode [, $id_connexion]]); |
| active le suivi d'une connexion PostgreSQL. |
| $chaine = pg_tty($id_connexion); |
| retourne le nom tty de la connexion. |
| true | false = pg_untrace($id_connexion); |
| arrête le suivi d'une connexion PostgreSQL. |
<?php
function gestion_erreur($identifiant)
{
echo "Une erreur s'est produite : " . pg_errormessage($id_connexion);
exit;
}
$id_connexion = pg_pconnect("user=utilisateur "
. "password=essapmot "
. "dbname=tbl_personnel");
if (!$id_connexion) gestion_erreur($id_connexion);
$date = date("d/m/Y");
$insertion = pg_exec($id_connexion,
"INSERT INTO tbl_personnel (date, nom, prenom, email) "
. "VALUES (" . $date . "'" . $nom . "', '"
. $prenom . "', '" . $email . "')");
$selection = pg_exec($id_connexion, "SELECT * FROM tbl_personnel");
$i = 0;
echo "<table border=\"1\"><tr>";
while($enregistrement = pg_fetch_object($id_connexion, $i))
{
$informations = get_object_vars($enregistrement);
$entete = array_keys($informations);
$contenu = array_values($informations);
if($i == 0)
{
while($cle = array_shift($entete))
{
echo "<th>" . $cle . "</th>";
}
}
echo "</tr><tr>";
while($valeur = array_shift($contenu))
{
echo "<td>" . $valeur . "</td>";
}
$i++;
}
echo "</tr></table>";
?> |