PageRenderTime 69ms CodeModel.GetById 64ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/class/Sql.class.php

http://gespac.googlecode.com/
PHP | 217 lines | 83 code | 69 blank | 65 comment | 3 complexity | a6b4b35588d2cbddee7ac1b03113c5ee MD5 | raw file
  1<?php
  2
  3	class Sql {
  4		
  5		# Propriétés
  6		
  7		private $host;
  8		private $user;
  9		private $pass;
 10		private $db;
 11		private $link;
 12		
 13		
 14		
 15		# Magiques
 16		
 17		
 18		/*
 19		* @name: Constructeur
 20		* @param : paramčtres de connexion : hote, utilisateur, mot de passe et base de données sur laquelle se connecter
 21		* @return : rien
 22		* @description : se connecte ŕ l'hote puis ŕ la base
 23		*/
 24		public function __construct ($host = 'localhost', $user = 'root', $pass = '', $db) {
 25			
 26			$this->host = $host;
 27			$this->user = $user;
 28			$this->pass = $pass;
 29			$this->db 	= $db;
 30			
 31			$this->link	= mysql_pconnect($this->host, $this->user, $this->pass);
 32			$Base = mysql_select_db($this->db, $this->link);
 33			
 34		}
 35		
 36				
 37		/*
 38		* @name: Destructeur
 39		* @param : rien
 40		* @return : rien
 41		* @description : ferme la connexion
 42		*/		
 43		public function __destruct () {	
 44			//mysql_close($this->link);
 45		}
 46				
 47		
 48		/*
 49		* @name: toString
 50		* @param : rien
 51		* @return : rien
 52		* @description : Retourne une chaine si l'objet est sérialisé
 53		*/	
 54		public function __toString () {	
 55			return utf8_decode("L'utilisateur <b>" . $this->user . "</b> est connecté ŕ la base <b>" . $this->db . "</b> sur l'hote <b>" . $this->host . "</b>.");
 56		}
 57		
 58		
 59		
 60		# Méthodes
 61		public function Exists () {
 62			if($basetest = mysql_select_db($this->db, $this->link)) return true;
 63			else return false;
 64		}
 65		
 66		
 67		/*
 68		* @name: close
 69		* @param : rien
 70		* @return : rien
 71		* @description : ferme la connexion manuellement
 72		*/	
 73		public function Close () {
 74			mysql_close($this->link);
 75		}
 76		
 77		
 78		/*
 79		* @name: QueryAll
 80		* @param : La requęte ŕ exécuter
 81		* @return : Le tableau des résultats
 82		* @description : Execute une requęte SQL SELECT
 83		*/
 84		public function QueryAll ($query) {
 85			
 86			// lit les enregistrements
 87			$req = mysql_query($query, $this->link) or die(mysql_error());
 88		   
 89			// tout dans un tableau
 90			for($i = 0; $tab[$i] = mysql_fetch_assoc($req); $i++) ;
 91		   
 92			// Je vire le dernier enreg, vu qu'il est tjs vide
 93			array_pop($tab);
 94			
 95			return $tab;
 96		}
 97		
 98		
 99		/*
100		* @name: QueryRow
101		* @param : La requęte ŕ exécuter
102		* @return : La ligne retournée par sql dans un tableau d'une ligne
103		* @description : Execute une requęte SQL SELECT
104		*/
105		public function QueryRow ($query) {
106			
107			$tab = array();
108			
109			// lit les enregistrements
110			$req = mysql_query($query, $this->link) or die(mysql_error());
111		   
112			$tab = mysql_fetch_row($req);
113			
114			return $tab;
115		}
116		
117		
118		/*
119		* @name: QueryOne
120		* @param : La requęte ŕ exécuter
121		* @return : La valeur retournée par sql dans une variable (pas de tableau donc)
122		* @description : Execute une requęte SQL SELECT
123		*/
124		public function QueryOne ($query) {
125	
126			$tab = array();
127	
128			$req = mysql_query($query, $this->link) or die(mysql_error());
129		   
130			$tab = mysql_fetch_row($req);
131			
132			return $tab[0];
133		}
134		
135		
136		/*
137		* @name: Execute
138		* @param : La requęte ŕ exécuter
139		* @return : Le nombre d'enregistrements affectés par la requęte
140		* @description : Execute une requęte SQL action (insert, update, delete ...) 
141		*/
142		public function Execute ($query) {
143			$result = mysql_query($query, $this->link);
144			
145			$NbResult = mysql_affected_rows();
146			return $NbResult; 
147		}
148		
149				
150		// renvoie la liste des fonctions dispo
151		public function GetFunctions () {
152		}
153		
154		
155		/*
156		* @name: GetLastID
157		* @param : aucun
158		* @return : dernier id ajouté
159		* @description : renvoie l'id automatique de la derničre requęte d'ajout
160		*/
161		public function GetLastID () {
162			return mysql_insert_id($this->link);
163		}
164		
165		
166		
167		# SETTERS
168		
169		
170		public function SetDatabase ($db) {
171			$this->db 	= $db;
172		}
173		
174		
175		public function SetHost ($host) {
176			$this->host 	= $host;
177		}
178		
179		
180		public function SetUser ($user) {
181			$this->user 	= $user;
182		}
183		
184		
185		public function SetPass ($pass) {
186			$this->pass 	= $pass;
187		}
188		
189		
190		
191		# GETTERS
192		public function GetLink () {
193			return $this->link;
194		}
195		
196		public function GetDatabase () {
197			return $this->db;
198		}
199		
200		
201		public function GetHost () {
202			return $this->host;
203		}
204		
205		
206		public function GetUser () {
207			return $this->user;
208		}
209		
210		
211		public function GetPass () {
212			return $this->pass;
213		}
214
215	}
216
217