01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
|
|
<?php
/******************************************************************************/
/* */
/* __ ____ */
/* ___ / / ___ / __/__ __ _____________ ___ */
/* / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-< */
/* / .__/_//_/ .__/___/\___/\_,_/_/ \__/\__/___/ */
/* /_/ /_/ */
/* */
/* */
/******************************************************************************/
/* */
/* Titre : Classe de connexion à Mysql en PHP5 */
/* */
/* URL : http://www.phpsources.org/scripts344-PHP.htm */
/* Auteur : crocxx */
/* Date édition : 22 Fév 2008 */
/* Website auteur : http://www.zone-webmasters.net */
/* */
/******************************************************************************/
/**
* Gestion des erreurs avec les exeptions
*/
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($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!!!');
}
/**
* 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($Serveur = 'localhost', $Bdd = 'base', $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'];
}
?>
|