Vous êtes ici Codes PHP et MySQL > Classes > Classe MySQL

 

Classe MySQL

Cette classe de MySQL a les caractéristiques suivantes:
- Les messages de débogage (peut être activer ou non)
- Traitement des erreurs (peut être activer ou non)....
 
freemh
Site de l'auteur voir
[7] sources en PHP voir
Code vu 5659 fois
Enregistré le 27 Juil 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Classe  MySQL
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Classe  MySQL                                             */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts440-PHP.htm              */
/* Auteur         : freemh                                                    */
/* Date édition   : 27 Juil 2008                                              */
/* Website auteur : http://www.tutoslinux.com                                 */
/*                                                                            */
/******************************************************************************/

/******************************************* 
 USAGE: $My_db=new base_mysql($DB_HostName, $DB_user, $DB_Password, $DB_Name);
        $My_db->base_Open();
    $My_db->base_Query($my_query);
    ... your code ...
    $My_db->base_Close();
    
       or
     $My_db=new base_mysql($DB_HostName, $DB_user, $DB_Password, "");
       $My_db->base_Open();
     $My_db->base_Select_DB($DB_Name);
     $My_db->base_Query($my_query);
    ... your code ...
     $My_db->base_Select_DB($OtherDB_Name);
     etc.
     
********************************************/

class base_mysql {
  /* public variables*/


  /* private variables */
  var $_DB_Name;
  var $_DB_User;
  var $_DB_Pass;
  var $_DB_Host;
  var $_DB_Link;
  var $_query_ID;
  var $_row;
  var $_debug;
  var $_error_handling;
  var $_stop_on_error;
    
  /* private constants*/
  var $_terminated;

/********* CLASS CONSTRUCTOR *********/
  function base_mysql ($Host_DB="localhost",$User_DB="root",$Pass_DB="",$Name_DB="")
  {
  $this->base_Continue();
  $this->base_errors();
  $this->base_Debug();
  $this->_DB_Name $Name_DB;
  $this->_DB_User $User_DB;
  $this->_DB_Pass $Pass_DB;
    $this->_DB_Host $Host_DB;
  $this->_DB_link 0;
  $this->_query_ID 0;
  $this->_terminated "<br><b>!!!SCRIPT TERMINATED CAUSE ERROR!!!</b>";

  }



/*********  SETTINGS  *********/

  function base_Debug($ON_OFF False)
  /* 
     ON_OFF = False - deactivate debug messages.
     ON_OFF = True - activate debug messages.
  */
  {
   $this->_debug=$ON_OFF;
  }
  
    function base_errors($ON_OFF True)
  /* 
     ON_OFF = False - deactivate error handling.
     ON_OFF = True - activate error handling.
  */
  {
   $this->_error_handling=$ON_OFF;
  }
  
  function base_Continue($ON_OFF True)
  /* 
     ON_OFF = False - stop script after an error.
     ON_OFF = True - don't stop script after an error.
  */
  {
   $this->_stop_on_error $ON_OFF;
  }
  

/********* CLASS METHODS *********/  
  function base_Open()
  { 
    if ($this->_debug)
  { echo "<br><i>Hostname: <b>$this->_DB_Host</b><br>";
    echo "User: <b>$this->_DB_User</b></i><br>";
  }
  if (($this->_DB_User=="") || ($this->_DB_Host=="")) {$this->_errors(1);}
  else
  {
   $this->_DB_Link=mysql_connect ($this->_DB_Host$this->_DB_User$this->_DB_Pass);
   if (!$this->_DB_Link)
    {$this->_errors();}
   else
    { if ($this->_debug==True)
      {echo "<br><i>Connection to DB server <b>$this->_DB_Host</b> active.</i><br>";}
      if ($this->_DB_Name!="") {$this->base_Select_DB($this->_DB_Name);}
    }
  } 
  }

  
  function base_Close()
  {
  if ($this->_DB_Link)
  {
   if ($this->_debug==True)
   {echo "<br><i>Closing connection to DB server <b>$this->_DB_Host</b>.</i><br>";}
   if (!mysql_close($this->_DB_Link)) $this->_errors();
  }
  }

 
  function base_Select_DB ($other_DB_Name="")
  {
   if ($other_DB_Name=="") {$this->_errors(2);}
   else
   {
    if ($this->_DB_Link==0) {$this->_errors(4);}
  else
  {
     if (mysql_select_db($other_DB_Name$this->_DB_Link))
    {$this->_DB_Name $other_DB_Name;
     if ($this->_debug==True)
     {echo "<br><i>Database <b>$this->_DB_Name</b> selected.</i><br>";}
    }
     else {$this->_errors();}
  }
   }  
  }
  

  function base_Get_DB()
  { /* returns the current selected DB or empty if none */
   return $this->_DB_Name; 
  } 


  function base_Query($_sql)
  { /* execute a query */
   if (!$this->_DB_Link) {$this->_errors(4);}
   else
   {
  if ($this->_debug==True) {echo"<br><i>Executing query</i>: <b>$_sql<b>.<br>";}
  $this->_query_ID mysql_query ($_sql$this->_DB_Link);
  if (!$this->_query_ID)
   {$this->_errors();
    unset ($_sql);
    return False;}
  else
  {unset ($_sql);
   return True;}
   }
  }
 
  
  function base_Num_Rows()
  {
   if ($this->_query_ID!=0)
    { 
   $Number mysql_num_rows($this->_query_ID);
   if (is_null($Number)){return "NULL";}
   else {return $Number;}
  }
   else 
    {
   $this->_errors(3);
   return False;
  }
  }
 
  function base_Affected_Rows()
  {
   if ($this->_DB_Link!=0)
    {
   $Number mysql_affected_rows($this->_DB_Link);
   if (is_null($Number)){return "NULL";}
   else {return $Number;}
  }
   else 
    {
   $this->_errors(4);
   return False;
  }
  } 
  
  function base_Data_Seek($row_number=0)
  {
   if ($this->_query_ID!=0)
    { mysql_data_seek($this->_query_ID,$row_number);}
   else 
    {
   $this->_errors(3);
   return False;
  } 
  }
  
  
  function base_Fetch_Row()
  {
   if ($this->_query_ID!=0)
    { return mysql_fetch_row($this->_query_ID);}
   else 
    {
   $this->_errors(3);
   return False;
  }  
  }
  
  

 
 /********* ERROR HANDLING FUNCTION *********/ 
  function _errors ($int_err=0)
  {if (!$this->_error_handling) {return False;}
   else
   {
    switch ($int_err)
    {
    case 0/* for My_SQL errors handling */
      echo "<br><b>Error number:</b> $mysql_errno()<br>";
    echo "<b>Error Text:</b> $mysql_error()<br>";
    break;
    
    case 1:
    echo "<br><b>Please specify User/Host!</b><br>";
      break;
  
  case 2:
    echo "<br><b>Database name not set.</b><br>";
    break; 
    
  case 3:
    echo "<br><b>No valid query have been executed.</b><br>";
    break;
  
  case 4:
    echo "<br><b>No DB connection available.</b><br>";
    break;

  default:
    break;
    } 
    if (!$this->_stop_on_error) die($this->_terminated);
   }
  }
  
 /********* OTHER FUNCTIONS *********/
 function _is_boolean($_to_check)
 {/* for future use */
  if (is_bool($_to_check))
   {return True;}
  else
   {$this->_errors(4);
    return False;}
 }
  
}

?>

 

Fonctions du code

: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Ouvre une connexion à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Ferme la connexion MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Sélectionne une base de données MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Détruit une variable - (PHP 4, PHP 5)
: Retourne le nombre de lignes d'un résultat MySQL - (PHP 4, PHP 5, PECL...
: Indique si une variable vaut NULL - (PHP 4 >= 4.0.4, PHP 5)
: - (PHP 4, PHP 5, PECL mysql:1.0)
: Déplace le pointeur interne de résultat MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
: Retourne une ligne de résultat MySQL sous la forme d'un tableau - (PHP 4, PHP 5,...
: Alias de la fonction exit() - (PHP 4, PHP 5)
: - (PHP 4, PHP 5)
Commentaires
il y a quelques erreurs au niveau code html et balise php

ce n'est pas <? mais <?php
ce n'est pas <b> mais <strong>
ce n'est pas <br> mais <br />

Je sais que c'est fait uniquement pour l'affichage du debug et des erreurs mais pourquoi ne pas respecter les standarts web ?? faut apprendre a mettre à la poubelle les tag obsolètes qui demain ne seront plus pris en compte par les navigateurs.

Sinon, apres un simple test, la classe est clean et complète. Jolie travail smile

 
ya pas des erreurs sur le code!!
pour ouvrir php les deux syntaxes (<? et <?php) utilisables et les deux sonts correctes.
la même chose au niveau code html les syntaxes, voici le lien d'html:
http://www.lehtml.com/html/texte.htm
c'etais bien votre remarque, il ya des plusieurs codes posés avec des erreurs , mais celui là est bien.
 
<? retourne une erreur sur certain serveur. Il faut utiliser <?php
 
Je sais que cette source date un peut mais je tenais à réagir.
Je trouve dommage que les seules remarques sont sur des "détails" et qui plus est ne sont pas du tout fondée...

utiliser
 
Désolé mais mon message à été tronqué.
//-----------------------------

Je sais que cette source date un peut mais je tenais à réagir.
Je trouve dommage que les seules remarques sont sur des "détails" et qui plus est ne sont pas du tout fondée...
utiliser <? n'est pas un erreur c'est juste déconseillé.
Quand au balise HTML ... je ne vois pas de doctype donc comment savoir si c'est mieux d'avoir des balises HTML ou XHTML ?? quand à ces baises HTML elles ne sont pas obsolète (cf:W3C), il faut apprendre à ne pas dire des bêtises ;) et HTML a encore un bel avenir devant lui (voir: HTML 5)
Sinon la source m'a l'air plutôt bien réalisée, bien que sur certains points j'aurais fait différemment notamment le fait de devoir redéclarer la class à chaque utilisation, mais après il s'agit juste d'un confort d'utilisation personnel ^^

 
hello cette clase m'interrese, mais je n'arrive pas a faire un select, est qu'i ly aun exemple complet d(utilisation de cette clase, merci d'avance
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Classes

 
 

PHP

 
 
 
PHP 5 Livre PHP

PHP 5
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité