PostgreSQL et PHP
Accès à la base de données
Open Source
Disponible sans frais
Il faut :
un serveur : ‘host=?
une base de donnée stockée sur le serveur : ‘dbname=?
Un login : ‘user=?
Un mot de passe : ‘password=?
Une méthode de connexion : pg_connect
Sortie : un identifiant de connexion
Entrée : une chaîne des quatre informations séparées par une espace
Récupération de la dernière erreur : die() et pg_last_error()
Interrogation avec PHP
Une méthode de requête SQL : pg_query()
entrée : requête SQL sous forme de chaîne de caractère
Sortie : un pointeur vers la ressource contenant les tuples appelés par la
requête (n tuples de m champs)
Une méthode de parcours des résultats : pg_fetch_array()
Entrée :
une sortie de pg_query()
Un numéro de ligne entre 0 et n-1(peut être omis en passant nullà la place)
Une constante qui définit le type de la variable de stockage d’un tuple (indices
numériques, associatifs ou les deux)
Sortie : un tableau numérique et/ou associatif
Numérique (PGSQL_NUM) : valeurs des champs du tuple indicées de 0 à m-1
Associatif (PGSQL_ASSOC) : valeurs des champs du tuple indicées par le nom
du champs
Les deux (PGSQL_BOTH)
Fin de requête en PHP
Libération du résultat:
pg_free_result(pointeur vers la ressource
contenant les tuples)
Fermeture de la base : pg_close(identifiant de
connexion)
Exemple de connexion et d’affichage de la
valeur des champs d’une base de données
postgreSQL diapo suivante
Affichage d’un tableau XHTML contenant les
champs des tuples résultats d’une requête SQL
<?php
// connexion
$connexion= pg_connect("host=monServeur dbname=maBase user=moi password=toto") or die('Connexion impossible : ' . pg_last_error());
// interrogation
$requete= 'SELECT * FROM maTable';
$resultat= pg_query(r$equete) or die('Échec requête : ' . pg_last_error());
// Parcours et affichage des résultats en XHTML
echo "<table>\n";
while ($tuple= pg_fetch_array($resultat, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($tuple as $champs => $valeur_champs) {
echo "\t<td>$champs : $valeur_champs</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// libération de la mémoire (optionnel car automatique en fin de script)
pg_free_result($resultat);
// fermeture de la connexion (optionnel car automatique en fin de script)
pg_close($connexion);
?>
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !