Bouts de Codes PHP

Classe MySQL

Information sur le code source PHP

Ecrit par :  freemh
Site de l'auteur Voir
Codes en PHP de l'auteur : [7] sources Voir
Enregistrement le 27 Juil 2008 - Vu 3198 fois
Impression: Imprimer le code
Pas encore
de vote

Description du code source

Information sur le code source

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


Site regroupant des classes


php classes Un site regroupant des classes, des scripts et des articles sur la Programmation Orientée Objet en PHP , PHP4, PHP5 et PHP6. Aide, chat, forum animé par Fabrice Lezoray. classes.scriptsphp.org

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 source

Fonctions php / mysql PHP

  • echo : Affiche une chaîne de caractères - (PHP 4, PHP 5)
  • mysql_connect : Ouvre une connexion à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_close : Ferme la connexion MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_select_db : Sélectionne une base de données MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_query : Envoie une requête à un serveur MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • unset : Détruit une variable - (PHP 4, PHP 5)
  • mysql_num_rows : Retourne le nombre de lignes d'un résultat MySQL - (PHP 4, PHP 5, PECL mysql:1.0)
  • is_null : Indique si une variable vaut NULL - (PHP 4 >= 4.0.4, PHP 5)
  • mysql_affected_rows : - (PHP 4, PHP 5, PECL mysql:1.0)
  • mysql_data_seek : Déplace le pointeur interne de résultat MySQL - (PHP 4, PHP 5, PECL mysql:1.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)
  • die : Alias de la fonction exit() - (PHP 4, PHP 5)
  • is_bool : - (PHP 4, PHP 5)

Commentaires (5)
Nouveau message KOogar
le 28 Juil 2008 à 07:53:00
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

Nouveau message alihaz
le 19 Aout 2008 à 20:44:00
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.
Nouveau message PhpSources
le 20 Aout 2008 à 09:41:00
<? retourne une erreur sur certain serveur. Il faut utiliser <?php
Nouveau message johnstyle
le 04 Avril 2009 à 17:08:00
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
Nouveau message johnstyle
le 04 Avril 2009 à 17:10:00
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 &quot;détails&quot; et qui plus est ne sont pas du tout fondée...
utiliser &lt;? 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 ^^

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • PHP 5 ; MySQL 4
  • Html 4 et Javascript Megapoche pour les Nuls
  • PHP / MySQL avec Flash 8
  • PHP 5 & MySQL 5 : Créez votre site web dynamique de A à Z
  • PHP et MySQL 4 : Création, développement et administration de bases de données et de sites web
  • PHP et MySQL
  • PHP et MySQL
  • PHP 5 pour les Nuls
  • Sécurité PHP 5 et MySQL
  • Maîtrisez le HTML (TP + le livre de référence)