Zone Webmasters - Classe de connexion MySql

> Accueil > Codes sources > Code sources PHP > Classes - PHP5 > Classe de connexion MySql

Classe de connexion MySql

Par: Rudy | Categorie: Classes - PHP5

Description

Ce code source est une classe destiné à simplifié la gestion des connexion à MySQL et les requêtes SQL en PHP5.

Code source

<?php

/**
* Gestion des erreurs avec les exceptions
*/ 

class Erreur  extends Exception {
    
    public function __construct($Msg) {
        parent :: __construct($Msg);
    }
    
    public function RetourneErreur() {
        $msg  = '<div><strong>' . $this->getMessage() . '</strong>';
        $msg .= ' Ligne : ' . $this->getLine() . '</div>';
        return $msg;
    }
}

class Mysql
{
	private
		$Serveur     = '',
		$Bdd         = '',
		$Identifiant = '',
		$Mdp         = '',
		$Lien        = '',	
		$Debogue     = true,	
		$NbRequetes  = 0;



/**
* Constructeur de la classe
* Connexion aux serveur de base de donnée et sélection de la base
*
* $Serveur     = L'hôte (ordinateur sur lequel Mysql est installé)
* $Bdd         = Le nom de la base de données
* $Identifiant = Le nom d'utilisateur
* $Mdp         = Le mot de passe
*/ 
	public
		function __construct($Bdd = 'base', $Serveur = 'localhost', $Identifiant = 'root', $Mdp = '') 
		{
			$this->Serveur     = $Serveur;
			$this->Bdd         = $Bdd;
			$this->Identifiant = $Identifiant;
			$this->Mdp         = $Mdp;

			$this->Lien=mysql_connect($this->Serveur, $this->Identifiant, $this->Mdp);
     		
			if (!$this->Lien && $this->Debogue) throw new Erreur ('Erreur de connexion au serveur MySql!!!');				
				
			$Base = mysql_select_db($this->Bdd,$this->Lien);
     		
			if (!$Base && $this->Debogue) throw new Erreur ('Erreur de connexion à la base de donnees!!!');
		}

/**
* Retourne le nombre de requêtes SQL effectué par l'objet
*/ 		
	public
		function RetourneNbRequetes() 
		{
			return $this->NbRequetes;
		}



/**
* Envoie une requête SQL et récupère le résultât dans un tableau pré formaté
*
* $Requete = Requête SQL
*/ 
	public
		function TabResSQL($Requete)
		{
			$i = 0;
	
			$Ressource = mysql_query($Requete,$this->Lien);
			
     		$TabResultat=array();

     		if (!$Ressource and $this->Debogue) throw new Erreur ('Erreur de requête SQL!!!');
			while ($Ligne = mysql_fetch_assoc($Ressource))
			{
				foreach ($Ligne as $clef => $valeur) $TabResultat[$i][$clef] = $valeur;
				$i++;
			}

			mysql_free_result($Ressource);
			
			$this->NbRequetes++;
			
			return $TabResultat;
		}
/**
* Retourne le dernier identifiant généré par un champ de type AUTO_INCREMENT
*
*/ 
	public
		function DernierId()
		{	
			return mysql_insert_id($this->Lien);
		}
/**
* Envoie une requête SQL et retourne le nombre de table affecté
*
* $Requete = Requête SQL
*/ 
	public
		function ExecuteSQL($Requete)
		{
			$Ressource = mysql_query($Requete,$this->Lien);
			
     		if (!$Ressource and $this->Debogue) throw new Erreur ('Erreur de requête SQL!!!');
			
			$this->NbRequetes++;
			$NbAffectee = mysql_affected_rows();
			
			return $NbAffectee;			
		}		
}
?>



<?php
/**
* Utilisation de la classe
*/ 

 //Instanciation de la classe

try
{
    $Mysql = new Mysql($Bdd = 'base', $Serveur = 'localhost', $Identifiant = 'root', $Mdp = ''); 
}
catch (Erreur $e) {
    echo $e -> RetourneErreur();
} 

 //Envoie d'une requête SQL


try
{
    $Resulats = $Mysql->TabResSQL('SELECT Champ1,Champ2 FROM table');
}
catch (Erreur $e) {
    echo $e -> RetourneErreur();
} 

 //Utilisation des résultats



foreach ($Resulats as $Valeur)
{
    echo $Valeur['Champ1'];
    echo $Valeur['Champ2'];
}


?>


Imprimer ce code source




Commentaires

Commentaires



aucun commentaire

Ajouter un commentaire

Vous devez être membre pour commenter ce code source.

>> Inscrivez vous





Faire un lien | Partenaires ©2005-2008 Rudy Onfroy Tous droits réservés Contact | RSS | Plan | Haut