Par: Crocxx | Categorie: Classes - PHP5
Ce code source est une classe destiné à simplifié la gestion des connexion à MySQL et les requêtes SQL en PHP5.
<?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'];
}
?>
Faire un lien | Partenaires ©2005-2008 Rudy Onfroy Tous droits réservés Contact | RSS | Plan | Haut