Advertisement
Guest User

Untitled

a guest
May 26th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.08 KB | None | 0 0
  1. <?php
  2.  
  3.     /**
  4.         @class PostgreSQL
  5.         @brief Gestion d'une connexion à la base de données.
  6.     */
  7.     class PostgreSQL {
  8.         private $mResource = NULL;
  9.         private $mCurrentRequest = NULL;
  10.        
  11.         /**
  12.             @brief Constructeur de PostgreSQL
  13.             @param aHost Nom de l'host.
  14.             @param aPort Port.
  15.             @param aUser Login utilisateur.
  16.             @param aPass Mot-de-passe de l'utilisateur.
  17.             @param aBase Nom de la base à utiliser.
  18.         */
  19.         public function __construct($aHost, $aPort, $aUser, $aPass, $aBase) {
  20.             $conn_string = "host=$aHost port=$aPort dbname=$aBase user=$aUser password=$aPass";
  21.             $this->mResource = pg_connect($conn_string) or die("Connexion impossible: " . pg_last_error());
  22.         }
  23.        
  24.         /**
  25.             @brief Destructeur, ferme la connexion en cours.
  26.         */
  27.         public function __destruct() {
  28.             if ($this->mResource != NULL)
  29.                 $this->Close();
  30.         }
  31.        
  32.         /**
  33.             @brief Fermer la connexion en cours.
  34.         */
  35.         public function Close() {
  36.             if ($this->mResource != NULL) {
  37.                 pg_close($this->mResource);
  38.                 $this->mResource = NULL;
  39.             }
  40.         }
  41.        
  42.         /**
  43.             @brief Executer une requête SQL.
  44.             @param aQuery Requête à executer.
  45.             @return True si la requête a réussi, false sinon.
  46.         */
  47.         public function Query($aQuery) {
  48.             $result = @pg_query($aQuery);
  49.             if ($result === FALSE)
  50.                 return FALSE;
  51.             else {
  52.                 $this->mCurrentRequest = $result;
  53.                 return TRUE;
  54.             }
  55.         }
  56.        
  57.         /**
  58.             @brief Obtenir la dernière erreur de PostgreSQL.
  59.             @return Erreur de PostgreSQL.
  60.         */
  61.         public function GetError() {
  62.             return pg_last_error();
  63.         }
  64.        
  65.         /**
  66.             @brief Après une requete, obtenir le tuple en cours et passer au suivant.
  67.             @param aType Type du tuple à obtenir (tableau associatif, tableau indexé, les deux).
  68.             @return Tuple en cours.
  69.         */
  70.         public function FetchArray($aType = PGSQL_ASSOC) {
  71.             return pg_fetch_array($this->mCurrentRequest, NULL, $aType);
  72.         }
  73.        
  74.         /**
  75.             @brief Obtenir le nombre de tuple de la dernière requête.
  76.             @return Nombre de tuple de la dernière requête.
  77.         */
  78.         public function NumRow() {
  79.             return pg_num_rows($this->mCurrentRequest);
  80.         }
  81.     };
  82.    
  83. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement