Classe bd

Description

Un classe qui vous permet de se connecter à une base de données, de réaliser des requêtes avec une gestion des erreurs

Source / Exemple :


<?
Class DB
{
 //Déclaration des variables de classe
 var $BDD;
 var $HOST;
 var $USER;
 var $PASS;
 var $CONN;
 var $REQS;
// var $NB_ROWS;//Nombre de lignes retournées par une requête
 
//Initialisation des variables
 function Init($host,$user,$pass)
 {
 $this->HOST = $host;
 $this->USER = $user;
 $this->PASS = $pass;
 }
 
//Connection à MySQL
function cnx()
 {
  $this->CONN = mysql_connect($this->HOST,$this->USER,$this->PASS); //or die ("<b>Connection impossible</b>");
  if (!$this->CONN)
  {
  $this->error("<B>Connection impossible</B>");}
 }

function dcnx()
{
 $this->CONN = mysql_close($this->CONN);
}

//Sélection de la base de données
function select_db($bdd)
 {
  $this->BDD = mysql_select_db($bdd);//or die("<b>Conection à la base impossible</b> :".mysql_error());
  if(!$this->BDD)
  {$this->error("<B>Connection à la base impossible</B>: ".mysql_error()."");}
 }

//Renvoie le résultat sous forme de tableau
function requete_valeurs($sql)
 {
  $this->REQS=mysql_query($sql,$this->CONN);
  
  if(!$this->REQS)
  {//echo "<B>Requête impossible</B> [$sql]: ".mysql_error();}
  $this->error("<B>Requête impossible</B> [<i>$sql</i>]: ".mysql_error()."");
  }
  
  else
  {
  $nb_champs = mysql_num_fields($this->REQS); //nombre de champs
  echo "<table STYLE='border:1px double #000000' class='DataTD'><TR>";
  for ($i=0;$i<$nb_champs;$i++)
  {echo "<TD align='center' class='txtblancgras' bgcolor='#666666'><b>".mysql_field_name($this->REQS,$i)."</b></TD>";}
  echo "</TR>";

 while ($rang = mysql_fetch_array($this->REQS))
  {echo "<TR>";
   for ($i=0;$i<$nb_champs;$i++)
   {echo "<td class='txtnoir'>".$rang[mysql_field_name($this->REQS,$i)]."</td>";}
   echo "</TR>";}
   echo "</table>";
  }
 }

//renvoie le nombre de lignes
function requete_nb_row($sql)
{
  $this->REQS=mysql_query($sql,$this->CONN);
  if(!$this->REQS)
  {//echo "<B>Requête impossible</B> [$sql]: ".mysql_error();
  $this->error("<B>Requête impossible</B> [<i>$sql</i>]: ".mysql_error()."");
  }
  else
  {return mysql_affected_rows();}
}

//Renvoie le nombre de champs
function requete_nb_cols($sql)
{
  $this->REQS=mysql_query($sql,$this->CONN);
  if(!$this->REQS)
  {//echo "<B>Requête impossible</B> [$sql]: ".mysql_error();
  $this->error("<B>Requête impossible</B> [<i>$sql</i>]: ".mysql_error()."");
  }
  else
  {echo mysql_num_fields($this->REQS);}
}

function requete_insert($sql)
{
 $this->REQS = mysql_query($sql,$this->CONN);
 if(!$this->REQS)
 {echo "<b>Requête impossible</b> [$sql]: ".mysql_error();
 $this->error("<B>Insertion impossible</B> [<i>$sql</i>]: ".mysql_error()."");
 }
 //else
 //{echo "Insertion réussie";}
}
 
function requete_maj($sql)
{
$this->REQS = mysql_query($sql,$this->CONN);
 if(!$this->REQS)
 {echo "<b>Requête impossible</b> [$sql]: ".mysql_error();
 $this->error("<B>M_à_J impossible</B> [<i>$sql</i>]: ".mysql_error()."");
 }
 //else
 //{echo "Mise à jour réussie";}
}

function requete_delete($sql)
{
 $this->REQS = mysql_query($sql,$this->CONN);
 if(!$this->REQS)
 {//echo "<b>Requête impossible</b> [$sql]: ".mysql_error();
 $this->error("<B>Suppression impossible</B> [<i>$sql</i>]: ".mysql_error()."");
 }
 //else
 //{echo "Suppression réussie";}
}

function error($msg)
{
?>
 <table align="center" width="400" height="58" STYLE="border:1px double #000000" bgcolor="#EFEFEF">
  <tr> 
    <td height="25" colspan="2" align="center" bgcolor="#666666"><strong><font color="#FFFFFF">ERREUR</font></strong></td>
  </tr>
  <tr> 
    <td width="57" height="25"><img src="images/pweb2.gif"></td>
    <td width="397"><font size="2" face="Courier New, Courier, mono"><? echo $msg; ?></font></td>
  </tr>
</table>
<?
}

function succes($msg)
{
?>
 <table align="center" width="400" height="58" STYLE="border:1px double #000000" bgcolor="#EFEFEF">
  <tr> 
    <td height="25" colspan="2" align="center" bgcolor="#666666"><strong><font color="#FFFFFF">Operation réussi avec succès</font></strong></td>
  </tr>
  <tr> 
    <td width="57" height="25"><img src="images/pweb2.gif"></td>
    <td width="397"><font size="2" face="Courier New, Courier, mono"><? echo $msg; ?></font></td>
  </tr>
</table>
<?
}
}
?>

Conclusion :


La classe est simple d'utilisation:
<?
include("class.inc.php");
$bd = new DB;
$bd->init("localhost","","");
$bd->cnx();
$bd->select_db("Nom_base");
?>

Codes Sources

A voir également

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.

Du même auteur (cs_Jahroots)