Classe MySQL

  Information

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)....
A savoir

Ces fonctions sont utilisées dans ce code source:
mysql_affected_rows()   mysql_affected_rows()   mysql_close()   mysql_connect()   mysql_data_seek()   mysql_data_seek()   mysql_errno()   mysql_error()   mysql_fetch_row()   mysql_num_rows()   mysql_query()   mysql_select_db()   

Ces extensions étaient obsolètes en PHP 5.5.0, et ont été supprimées en PHP 7.0.0. À la place, vous pouvez utiliser l'extension MySQLi ou l'extension PDO_MySQL. Voir aussi MySQL : choisir une API du guide et ces entrées de la FAQ pour plus d'informations. Alternatives à cette fonction : mysqli_connect() et PDO::__construct()

  code source classé dans  Classes

 
 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    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Classe  MySQL                                                                                                 
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=440
    Auteur           : freemh                                                                                             
    Date édition     : 27 Juil 2008                                                                                       
*/
/*---------------------------------------------------------------*/
/******************************************* 
 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_errordie($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 - Doc officielle PHP

   php.net   Description Versions PHP OUTIL
   die Alias de la fonction exit() PHP 4, PHP 5, PHP 7, PHP 8
   echo Affiche une chaîne de caractères PHP 4, PHP 5, PHP 7, PHP 8
   is_bool PHP 4, PHP 5, PHP 7, PHP 8
   is_null Indique si une variable vaut NULL - (PHP 4 >= 4.0.4, PHP 5, PHP 7) PHP 4, PHP 5, PHP 7, PHP 8
   mysql_affected_rows - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_close Ferme la connexion MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_connect Ouvre une connexion à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_data_seek Déplace le pointeur interne de résultat MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_fetch_row Retourne une ligne de résultat MySQL sous la forme d'un tableau - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_num_rows Retourne le nombre de lignes d'un résultat MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_query Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   mysql_select_db Sélectionne une base de données MySQL - (PHP 4, PHP 5, PECL mysql:1.0)   !  OBSOLÈTE en PHP 5.5.0, et ont été supprimées en PHP 7.0.0
   unset Détruit une variable PHP 4, PHP 5, PHP 7, PHP 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[5]

  • avatar

    Invité

    04 Aout 2009 à 10:33

    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

  • avatar

    Johnstyle

    04 Avril 2009 à 17:10

    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 ^^

  • avatar

    Johnstyle

    04 Avril 2009 à 17:08

    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

  • avatar

    PhpSources

    20 Aout 2008 à 09:41

    <? retourne une erreur sur certain serveur. Il faut utiliser <?php

  • avatar

    KOogar

    28 Juil 2008 à 07:53

    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


 Autres snippets qui pourraient vous intéressez

Classe Générique - PHP Sources

Compatibilité : PHP 5, PHP 7

Classe abstraite offrant de nombreuses fonctionnalités : sauvegarde/chargement dans une base de données, sauvegarde/chargement dans une variable

Générateur de classe - PHP Sources

Compatibilité : PHP 4, PHP 5

Ce script permet de générer une classe php à partir d'une table type MySql. une fois généré, il suffit de modifier la fonction statique "creer()" en

Classe DATABASE - PHP Sources

Compatibilité : PHP 5, PHP 7

exemple: $_obj_DB = new database(); $_arrRecord = $_obj_DB->query('select name, lastname from user'); $_int_NUM = $_obj_DB->getNumRows();

Classe pour générer des fichiers XML

Compatibilité : PHP 5, PHP 7

Une classe objet pour générer des fichiers XML. Avec un exemple d'utilisation pour générer un fichier XML.

Classe PHP permettant de gérer des formulaires

Compatibilité : PHP 5, PHP 7

Classe PHP 5 et PHP 7, de formulaire. Permet de gérer des formulaires. Un exemple complet d'utilisation est fourni dans le script.

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

avatar

Freemh

  27 Juil 2008

  SOURCE   Télécharger
15 640 Vues
Compatibilité
PHP 5-