Include :

<?php

#  _     /)---(\    | Dit moi wouf !
#  \\   (/ . . \)   
#   \\__)-\(*)/     | Classe MySQL : Version 1.5.0
#   \_       (_
#   (___/-(____)

# Par theo7

# CC : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/

# Note de version 1.5.0 : 
# - Re-identation
# - Suppression du système de mise en cache des requètes
# - Utilisation de mysql_free_result
# - Ajout de l'argument "type_result" dans mysql_fetch_array
# - Ajout de la fonction select_db
# - Mini documentation


/* ---------------------------------------- Documentation ---------------------------------------- */

#-------------------------------------------------------------#  #-------------------------------------------------------------#
# Vous devez connaitre :                                      #  # Vous allez apprendre :                                      #
#-------------------------------------------------------------#  #-------------------------------------------------------------#
#  - La POO en PHP4                                           #  #  - A utiliser cette classe MySQL                            #
#  - Les bases de PHP                                         #  #-------------------------------------------------------------#
#  - Les bases de MySQL                                       #
#-------------------------------------------------------------#

/* Connexion */

# Vous pouvez vous connectez directement :
# - $mysql = new mysql('server'. 'user'. 'password'. 'dataBase');

# Ou bien a l'aide d'un fichier :
# - $mysql = new mysql('mysqlInf.php');

#-------------------------------------------------------------#
# Fichier "mysqlInf.php :                                     #
#-------------------------------------------------------------#
#  - $fhost       = 'server'                                  #
#  - $flogin      = 'user'                                    #
#  - $fpassword   = 'password'                                #
#  - $fbase       = 'dataBase'                                #
#-------------------------------------------------------------#

/* Changer de base de donnée */

# Après vous être connecter, si vous voulez changer de BDD faites :
# - $mysql->select_db('dataBase');

/* Executer une requete */

# Executer une requete MySQL simple :
# - $mysql->query('UPDATE qualite_scripts SET qualite="exelent" WHERE script_name="classe MySQL"');

# Executer une requete MySQL complexe :
# - $mysql->query('SELECT pseudo,prenom FROM qualite_scripts WHERE script_name="classe MySQL"'. 'Nom_de_la_requete'. 1); // Le "1" a la fin execute un mysql_fetch_array automatiquement .
# - echo 'Pseudo : '.$mysql->req['Nom_de_la_requete']['pseudo'].' Prénom : '.$mysql->req['Nom_de_la_requete]['prenom'].' .';

# Executer une requete MySQL complexe sans de feth_array automatiquement :
# - $mysql->query('SELECT pseudo,prenom FROM qualite_scripts WHERE script_name="classe MySQL"'. 'Nom_de_la_requete');
# - $mysql->fetch_array('Nom_de_la_requete');
# - echo 'Pseudo : '.$mysql->req['Nom_de_la_requete']['pseudo'].' Prénom : '.$mysql->req['Nom_de_la_requete]['prenom'].' .';

/* Deconnexion */

# Se deconnecter :
# - $mysql->close();

/* ----------------------------------------------------------------------------------------------- */


class mysql
{
  
// Déclaration des vars
    // Informations pour la connexion a mysql
      
var $serveur;
      var 
$identifiant;
      var 
$mot_de_passe;
      var 
$base_de_donnees;
      var 
$flux 0;
      var 
$selection_base;
    
// Information de la requete
      
var $requete;
      var 
$req;
      var 
$nb_requete 0;
    
// Resultat
      
var $result;
               
  
// Constructeur               
  
function mysql($host 'localhost'$login 'root'$password ''$base 'test')
  {
    if(!
is_file($host))
    {
      
$this->seveur $host;
      
$this->identifiant $login;
      
$this->mot_de_passe $password;
      
$this->base_de_donnees $base;
                                    
      
$this->connect();
    }
    else
    {
      
// Include du fichier de configuration
      
include($host);
                                    
      
$this->seveur $fhost;
      
$this->identifiant $flogin;
      
$this->mot_de_passe $fpassword;
      
$this->base_de_donnees $fbase;
                                     
      
$this->connect();
    }    
  }                             
  
// Connexion
  
function connect()
  {    
    
$this->flux mysql_connect($this->serveur$this->identifiant$this->mot_de_passe) or print(mysql_errno($this->flux).' : <span style="color: RED">Erreur Lors de la connexion a MySQL : </span><br/><span style="color: GREEN">'.mysql_error($this->flux).'</span>');
    
$this->selection_base mysql_select_db($this->base_de_donnees$this->flux) or print(mysql_errno($this->flux).' : <span style="color: RED">Erreur Lors de la selection de la base de donnée(s) <span style="color: GREEN">'.$this->base_de_donnees.'</span> :</span> <br/><span style="color: GREEN">'.mysql_error($this->flux).'</span>');
  }
  
// Changement de BDD
  
function select_db($db)
  {
    
$this->selection_base mysql_select_db($db$this->flux) or print(mysql_errno($this->flux).' : <span style="color: RED">Erreur Lors de la selection de la base de donnée(s) <span style="color: GREEN">'.$this->base_de_donnees.'</span> :</span> <br/><span style="color: GREEN">'.mysql_error($this->flux).'</span>');
  }
  
// Requetes
  
function query($requete$nom ''$auto_fetch 0$fetch_type MYSQL_ASSOC$free 1)
  {
    
$this->requete[$nom] = mysql_query($requete$this->flux) or print(mysql_errno($this->flux).' : <span style="color: RED">Erreur Lors de la requete a MySQL <span style="color: GREEN">'.$nom.'</span>:</span> <br/><span style="color: GREEN">'.mysql_error($this->flux).'</span>');
    
$this->nb_requete++; // On ajoute 1 au nombre(s) de requete(s)
    
    // Si on veut faire un mysql_fetch_array de la requete
    
if($auto_fetch == 1)
      
$this->fetch_array($nom$fetch_type);
    
    
// Mysql_free_result
    
if($free == 1)
      
mysql_free_result($this->flux);
  }
  
// mysql_fetch_array
  
function fetch_array($nom$type_result MYSQl_ASSOC)
  {
    
$this->req[$nom] = mysql_fetch_array($this->requete[$nom]);
    return 
$this->req[$nom];
  }
  
// Donne les information mysql
  
function infos()
  {
    echo
'<p>Version du serveur MySQL : <b>'.mysql_get_server_info($this->flux).'</b><br/>';
    echo
'Version du protocole MySQL : <b>'.mysql_get_proto_info($this->flux).'</b><br/>';
    echo
'Informations sur l h&ocirc;te MySQL : <b>'.mysql_get_host_info($this->flux).'</b><br/>';
    echo
'D&eacute;tails sur le client MySQL : <b>'.mysql_get_client_info($this->flux).'</b><br/>';
    echo
'Connect&eacute; sous MySQL avec le login : <b>'.$this->identifiant.'</b><br/>';
    echo
'Connect&eacute; sous MySQL avec la BDD : <b>'.$this->base_de_donnees.'</b><br/>';
    echo
'Jeu de caract&egrave;res : <b>'.mysql_client_encoding($this->flux).'</b><br/></p>';
  }
  
// Quand la classe n'est plus utiliser on ferme mysql                   
  
function close()
  {
    
mysql_close($this->flux) or print(mysql_errno($this->flux).' : <span style="color: RED">Erreur Lors de la  deconnexion a MySQL :</span> <br/><span style="color: GREEN">'.mysql_error($this->flux).'</span>');                   
  }  
}  
?>

Back .

-->
Creative Commons License