Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- @class PostgreSQL
- @brief Gestion d'une connexion à la base de données.
- */
- class PostgreSQL {
- private $mResource = NULL;
- private $mCurrentRequest = NULL;
- /**
- @brief Constructeur de PostgreSQL
- @param aHost Nom de l'host.
- @param aPort Port.
- @param aUser Login utilisateur.
- @param aPass Mot-de-passe de l'utilisateur.
- @param aBase Nom de la base à utiliser.
- */
- public function __construct($aHost, $aPort, $aUser, $aPass, $aBase) {
- $conn_string = "host=$aHost port=$aPort dbname=$aBase user=$aUser password=$aPass";
- $this->mResource = pg_connect($conn_string) or die("Connexion impossible: " . pg_last_error());
- }
- /**
- @brief Destructeur, ferme la connexion en cours.
- */
- public function __destruct() {
- if ($this->mResource != NULL)
- $this->Close();
- }
- /**
- @brief Fermer la connexion en cours.
- */
- public function Close() {
- if ($this->mResource != NULL) {
- pg_close($this->mResource);
- $this->mResource = NULL;
- }
- }
- /**
- @brief Executer une requête SQL.
- @param aQuery Requête à executer.
- @return True si la requête a réussi, false sinon.
- */
- public function Query($aQuery) {
- $result = @pg_query($aQuery);
- if ($result === FALSE)
- return FALSE;
- else {
- $this->mCurrentRequest = $result;
- return TRUE;
- }
- }
- /**
- @brief Obtenir la dernière erreur de PostgreSQL.
- @return Erreur de PostgreSQL.
- */
- public function GetError() {
- return pg_last_error();
- }
- /**
- @brief Après une requete, obtenir le tuple en cours et passer au suivant.
- @param aType Type du tuple à obtenir (tableau associatif, tableau indexé, les deux).
- @return Tuple en cours.
- */
- public function FetchArray($aType = PGSQL_ASSOC) {
- return pg_fetch_array($this->mCurrentRequest, NULL, $aType);
- }
- /**
- @brief Obtenir le nombre de tuple de la dernière requête.
- @return Nombre de tuple de la dernière requête.
- */
- public function NumRow() {
- return pg_num_rows($this->mCurrentRequest);
- }
- };
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement