/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. class Sql {
  3. # Propriétés
  4. private $host;
  5. private $user;
  6. private $pass;
  7. private $db;
  8. private $link;
  9. # Magiques
  10. /*
  11. * @name: Constructeur
  12. * @param : paramčtres de connexion : hote, utilisateur, mot de passe et base de données sur laquelle se connecter
  13. * @return : rien
  14. * @description : se connecte ŕ l'hote puis ŕ la base
  15. */
  16. public function __construct ($host = 'localhost', $user = 'root', $pass = '', $db) {
  17. $this->host = $host;
  18. $this->user = $user;
  19. $this->pass = $pass;
  20. $this->db = $db;
  21. $this->link = mysql_pconnect($this->host, $this->user, $this->pass);
  22. $Base = mysql_select_db($this->db, $this->link);
  23. }
  24. /*
  25. * @name: Destructeur
  26. * @param : rien
  27. * @return : rien
  28. * @description : ferme la connexion
  29. */
  30. public function __destruct () {
  31. //mysql_close($this->link);
  32. }
  33. /*
  34. * @name: toString
  35. * @param : rien
  36. * @return : rien
  37. * @description : Retourne une chaine si l'objet est sérialisé
  38. */
  39. public function __toString () {
  40. return utf8_decode("L'utilisateur <b>" . $this->user . "</b> est connecté ŕ la base <b>" . $this->db . "</b> sur l'hote <b>" . $this->host . "</b>.");
  41. }
  42. # Méthodes
  43. public function Exists () {
  44. if($basetest = mysql_select_db($this->db, $this->link)) return true;
  45. else return false;
  46. }
  47. /*
  48. * @name: close
  49. * @param : rien
  50. * @return : rien
  51. * @description : ferme la connexion manuellement
  52. */
  53. public function Close () {
  54. mysql_close($this->link);
  55. }
  56. /*
  57. * @name: QueryAll
  58. * @param : La requęte ŕ exécuter
  59. * @return : Le tableau des résultats
  60. * @description : Execute une requęte SQL SELECT
  61. */
  62. public function QueryAll ($query) {
  63. // lit les enregistrements
  64. $req = mysql_query($query, $this->link) or die(mysql_error());
  65. // tout dans un tableau
  66. for($i = 0; $tab[$i] = mysql_fetch_assoc($req); $i++) ;
  67. // Je vire le dernier enreg, vu qu'il est tjs vide
  68. array_pop($tab);
  69. return $tab;
  70. }
  71. /*
  72. * @name: QueryRow
  73. * @param : La requęte ŕ exécuter
  74. * @return : La ligne retournée par sql dans un tableau d'une ligne
  75. * @description : Execute une requęte SQL SELECT
  76. */
  77. public function QueryRow ($query) {
  78. $tab = array();
  79. // lit les enregistrements
  80. $req = mysql_query($query, $this->link) or die(mysql_error());
  81. $tab = mysql_fetch_row($req);
  82. return $tab;
  83. }
  84. /*
  85. * @name: QueryOne
  86. * @param : La requęte ŕ exécuter
  87. * @return : La valeur retournée par sql dans une variable (pas de tableau donc)
  88. * @description : Execute une requęte SQL SELECT
  89. */
  90. public function QueryOne ($query) {
  91. $tab = array();
  92. $req = mysql_query($query, $this->link) or die(mysql_error());
  93. $tab = mysql_fetch_row($req);
  94. return $tab[0];
  95. }
  96. /*
  97. * @name: Execute
  98. * @param : La requęte ŕ exécuter
  99. * @return : Le nombre d'enregistrements affectés par la requęte
  100. * @description : Execute une requęte SQL action (insert, update, delete ...)
  101. */
  102. public function Execute ($query) {
  103. $result = mysql_query($query, $this->link);
  104. $NbResult = mysql_affected_rows();
  105. return $NbResult;
  106. }
  107. // renvoie la liste des fonctions dispo
  108. public function GetFunctions () {
  109. }
  110. /*
  111. * @name: GetLastID
  112. * @param : aucun
  113. * @return : dernier id ajouté
  114. * @description : renvoie l'id automatique de la derničre requęte d'ajout
  115. */
  116. public function GetLastID () {
  117. return mysql_insert_id($this->link);
  118. }
  119. # SETTERS
  120. public function SetDatabase ($db) {
  121. $this->db = $db;
  122. }
  123. public function SetHost ($host) {
  124. $this->host = $host;
  125. }
  126. public function SetUser ($user) {
  127. $this->user = $user;
  128. }
  129. public function SetPass ($pass) {
  130. $this->pass = $pass;
  131. }
  132. # GETTERS
  133. public function GetLink () {
  134. return $this->link;
  135. }
  136. public function GetDatabase () {
  137. return $this->db;
  138. }
  139. public function GetHost () {
  140. return $this->host;
  141. }
  142. public function GetUser () {
  143. return $this->user;
  144. }
  145. public function GetPass () {
  146. return $this->pass;
  147. }
  148. }