Il s'agit d'une petite classe en PHP5 qui permet de géré simplement les requêtes SQL pour MySQL.
Utilisation:
Mysql = new Mysql(); // Instantiation
Mysql->Connexion(); //Connexion à la base de donnée
//Requete ne retournant pas de resultat
try {
$NombreLignesAffecte = Mysql->ExecuteSQL('Requete SQL');
}
catch (Erreur $e) {
echo $e -> RetourneErreur();
}
//Requetes retournant un/plusieurs résultat(s)
//Requete ne retournant pas de resultat
try {
$TableResultats=Mysql->TabResSQL('Requete SQL');
}
catch (Erreur $e) {
echo $e -> RetourneErreur();
}
//Utilisation des résultats avec for
$NombreResultats=sizeof($TableResultats);
for($i=0;$i<$NombreResultats;$i++)
{
echo $TableResultats[$i]['Champ1'];
echo $TableResultats[$i]['Champ2'];
}
//Utilisation des résultats avec foreach
foreach ($TableResultats as $Valeur) {
echo $Valeur['Champ1'];
echo $Valeur['Champ2'];
}
// Une seul ligne retourné
echo $TableResultats[0]['Champ'];
Source / Exemple :
<?php
/*
// Nom : Classe MySQL
// Langage : PHP5
// Auteur : ONFROY Rudy
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;
public
function __construct($Serveur = 'localhost', $Bdd = 'base', $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!!!');
}
public
function RetourneNbRequetes()
{
return $this->NbRequetes;
}
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;
}
public
function DernierId()
{
return mysql_insert_id($this->Lien);
}
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;
}
}
?>
Conclusion :
Si vous avez des questions où des propositions d'amélioration.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.