Class mysql

Soyez le premier à donner votre avis sur cette source.

Vue 19 048 fois - Téléchargée 1 364 fois

Description

Cette class est une classe qui permet de gérér votre base de donnés mysql, elle permet de préchargé plusieur requete, je vous laisse la découvrir grace au fichier d'aide

Source / Exemple :


Donc la class : 
<?php
/**********************************************************************************************************/
/*******************************************class mysql wnn V1*********************************************/
/********************************class pour gérer une base de donné mysql**********************************/
/**************************Class créé pour webnewnet.tk ainsi que thewod.com*******************************/
/*************************************Tous droits réserver a Nadim*****************************************/
/***Vous êtes libre d'utiliser cette classe autant que vous le désirez, cependant vous devez laisser les***/
/******************************************commentaires suivants*******************************************/
echo "<!-- La class mysql wnn a été créé pour www.webnewnet.tk ainsi que www.thewod.com par Nadim -->";
/**********************************************************************************************************/
class mysql
	{
		var $sql_serveur;
		var $sql_utlisateur;
		var $sql_password;
		var $sql_bd;
		var $connection_sql;
		var $select_bd;
		var $resultat;
		var $sql_debug;
		var $connection_verif;
		var $nb_requete;
		var $erreur;
		var $message_erreur;
		
		//constructeur
		function mysql($serveur, $utlisateur, $password, $bd, $debug, $erreur)
			{
				$this->sql_serveur = $serveur;
				$this->sql_utilisateur = $utlisateur;
				$this->sql_password = $password;
				$this->sql_bd = $bd;
				$this->sql_debug = $debug;
				$this->message_erreur = $erreur;
				$this->resultat = array();
				$this->connection_verif = 0;
				$this->connection();
			}
				
		//fonction de connection a mysql
		function connection()
			{
				if($this->connection_verif == "0")
					{
						$this->connection_sql = @mysql_connect($this->sql_serveur, $this->sql_utilisateur, $this->sql_password);
						if(!$this->connection_sql)
							{
								$this->mysql_erreur();
							}
						else
							{
								$this->selection_bd();
							}
					}
			}
		
		//fonction de selection de la base de donnée
		function selection_bd()
			{
				$this->select_bd = @mysql_select_db($this->sql_bd, $this->connection_sql);  
				if(!$this->select_bd) 
					{ 
            			$this->mysql_erreur(); 
					}
				else
					{
						$this->connection_verif = 1;
					}
			}
		
		//fonction de déconnexion de la base de donnée
		function deconnexion()
			{
				mysql_close($this->connection_sql);
			}
			
		//fonction d'execution de requête
		function requete($requete, $p)
			{
				$this->resultat[$p] = mysql_query($requete);
				$this->nb_requete++;
				if(!$this->resultat[$p])
					{
						$this->mysql_erreur();
					}
			}
		
		//fontion qui retourne les donnée dans un tableau grace a fetch array
		function resultat($p)
			{
				return @mysql_fetch_array($this->resultat[$p]);
			}
		
		//fonction permettant de compter le nombre de resultat trouvé
		function nb_resultat($p)
			{
				return @mysql_num_rows($this->resultat[$p]);
			}
		//function d'affichage des erreur mysql	
		function mysql_erreur()
			{
				if($this->sql_debug == 0)
					{
						echo $this->message_erreur;
					}
				elseif($this->sql_debug == 1)
					{
						$this->erreur = @mysql_error($this->connection_sql); 
						$message = "une erreur mysql est survenue : <br /> <form name='mysql'><textarea rows='15' cols='60'>".$this->erreur."</textarea></form>";
						echo $message;
					}
			}
	}
?>	

et son fichier d'aide:

Contenu

Contenu

1 - Qu'est-ce que une class
2 - Installation
3 - les fonctions
4 - comment l'utiliser
5 - Exemple
6 - Droit d'utilisation

1 - Qu'est-ce que une class

Une classe est un ensemble de fonctions regroupées en un élément appelé class.
Cette class est a utiliser dans le language PHP et permet d'établir une connection avec une
base de donnée mysql, et ainsi executer des requêtes.

2 - Installation

Cette class est très simple a installer, il suffit soit de faire un
include("mysql.class.php") afin de l'inclure dans votre script php
ou bien vous pouvez simplement copier le contenu dans votre script php,
cependant la première manière qui consiste a inclure est recommandée pour
plus de clarté au niveau de votre script php.

3 - Les fonctions

-Connection : Une fois que vous avez initialisé votre class mysql a l'aide
	      de la fonction d'initialisation, lorsque que vous executerez
	      une requête la connection a la base mysql se fera si elle n'a
	      pas été fait au paravant automatiquement, ainsi donc il ne vous
	      est donc pas necessaire d'utiliser la fonction de connection
	      manuellement puisque celle-ci se fait automatiquement, d'ailleur
	      il ne vous ait pas recommandé d'executer la conection a la base
	      mysql manuellement car cela pourrait causer des erreur comme quoi
	      vous êtes déja connecté a la base mysql.

-Deconnexion : Il y a une fonction de deconnexion de la base mysql, cependant
	       comme désormais la connexion a la base de donnée mysql se termine
	       automatiquement a la fin de votre script php, il ne vous ait pas
	       necessaire de faire appelle a cette fonction.

-Requete : Cette fonction permet d'excuter une requete mysql, cependant, il vous
	   est vous necessaire de donner un nombre a cette requete mysql, ainsi,
           si vous avez plusieurs requetes et que vous souhaiter les precharger
	   il vous suffit de lui définir à chacune un nombre.

-fetch_array : Il existe une fonction php qui permet une fois la requete mysql
	       executée de retourner les resultats sous forme d'un tableau,
	       donc ici cette fonction ne necessite pas que vous indiquiez laquelle
	       executer, mais quelle est le nombre de la requete mise en mémoire
		auparavant.

-nb_resultat : Il existe une fonction php qui permet de retourné le nombre de résultat
	  trouvé pour votre requete mysql, pour executé cette fonction ici, comme
	  pour la fonction fetch il vous est uniquement necessaire d'indiquer le 
	  numéro de la requete mise en mémoire sur la quelle vous désirer savoir 
	  le nombre de résultat.

-gestion d'erreur: Ceci est une fonction qui en cas d'erreur de connexion a la base de
		   ou bien d'une erreur dans votre requete mysql ou autre, retourne un
		   message d'erreur. Vous avez deux possibilitées de messages d'erreur: 
		   un premier, qui affiche toujours le même message d'erreur, ce qui
		   est peut s'averer meilleur, selon moi, lorsque l'on utilise cette
		   classe sur un site en production, ou bien un message d'erreur avec
		   l'erreur mysql ce qui s'avère souvent utile lorsque on fait un 
		   débug dans son script.

-Nb de requete : A chaque fois que vous effectuez une requete mysql dans votre script
		 grace a cette classe, elle est comptabilisée et ainsi vous pouvez
		 savoir combien de requete vous utlisez, ce afin d'optimiser votre
		 script et ainsi éviter qu'il prenne trop de temps à s'executer.

4 - Comment l'utiliser

L'utilisation de cette fonction est très simple, je vais vous détaillé pour chaque
fonctions, comment l'utiliser et ainsi que leurs syntaxe
On suppose que lorsque vous avez créer l'objet a partir de la classe vous l'avez créer 
de cette manière:
$sql = new mysql($serveur, $utlisateur, $pass, $bd, $debug, $erreur)
ici $serveur correspond a votre hote mysql, $utilisateur correspond a
l'utilisateur grace auquel vous vous connectez à mysql, $pass correspond
au password grace auquel vous vous connecter à votre base mysql, $bd
coresspond au nom de votre base de donnée, $debug correspond au message
d'erreur que vous souhaiter qu'il s'affiche a 0 le message d'erreur
n'indique pas l'erreur mysql et à 1 le message d'erreur indique l'erreur
mysql, $erreur correspond au message d'erreur que vous souhaiter qu'il 
s'affiche dans le cas ou vous voulez qu'il ne s'affiche pas l'erreur
		  mysql c'est a dire le cas 0

-Connection : rien n'est a faire puisque c'est automatique lors d'une requete

-Deconnexion : $sql->deconnexion()
	       Cepandant il n'est pas necessaire d'executer cette fonction puisque toutes
	       les connexion a mysql s'arrêtent automatiquement a la fin de votre script
	       php

-Requete : $sql->requete($requete, $p)
	   Ici, $requete correspond a votre requete mysql(par exemple:SELECT * FROM membres)
	   et $p correspond au numéro de votre requete mysql par exemple la première de 
	   votre requte vous lui assigner 0, a la seconde 1 et ainsi de suite, et elle
	   seront ainsi précharger dans la mémoire

-fetch_array : $sql->resultat($p)
		$p correspond ici au numéro de la reqeuette chargé précédément grace a la
		fonction requete

-nb_resultat : $sql->nb_resultat($p)
	       $p correspond ici au numéro de la reqeute chargé précédente grace a la
	       fonction requete

-gestion d'erreur : La gestion d'erreur se fait automatiquement, c'est a dire que si
		    il y a eu un problème, un message d'erreur s'affiche automatiquement

-Nb de requete : $sql->nb_requete
		 un simple echo $sql->nb_requete suffit a afficher le nombre de requetes
		 utilisées

5 - Exemple

Bon, maintenant que vous avez lu le principe de fonction de cette class un exemple
sera plus explicative

<?php
include("mysql.class.php"); //on inclue ici la class
$sql = new mysql("localhost", "utilisateur", "password", "bd", "1", "désolé un problème est survenu"); //creation de l'objet mysql
$sql->requete("SELECT * FROM membres", "0"); //on execute une requete simple
while($info = $sql->resultat(0)) //afin d'affiche les résultats de cette requete on utlise une boucle While
{
echo $info[log]; //on affiche les donnée du champ log de mysql
}
$nb = $sql->nb_resultat(0); //on assigne a nb le nombre de résultat trouvé
echo $nb; //on affiche le nombre de résultat trouvé
echo $sql->nb_requete; //on affiche le nombre de requetes utilisées, dans notre cas une seul donc 1
?> 

6 - Droit d'utilisation

Vous êtes en droit d'utliser cette class autant que vous le souhaiter, et même de la redistribué,
cepandant par respect pour le travail de l'auteur vous devez laisser les commentaires dans le fichier de la
class ainsi que le commentaire html
Pour information, cette class a été réaliser par Nadim (webnewnet@hotmail.com) pour les sites thewod.com et webnewnet.tk
Je vous remercie d'avance.

Conclusion :


Bon voila j'espère quel vous sera utile :D, j'ai mis a jour en rajoutant un constructeur

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_koko
Messages postés
654
Date d'inscription
lundi 14 janvier 2002
Statut
Membre
Dernière intervention
20 février 2005
-
hi hi ^^
pour la fonction initialisation... c'est vraiment bête de mettre une fonction initialisation alors que tu peux le faire faire automatiquement !
je m'explique :

class mysql {
//tesvars
function mysql($serveur, $utlisateur, $password, $bd, $debug, $erreur) {
//definition des variables
}
...
}

et il suffit alors de faire un $db = new mysql($serveur, $utlisateur, $password, $bd, $debug, $erreur);

et voila ^^

lorsque tu effectues une requete :
$this->connection();
il lance la connexion... et si elle est déjà lancée ?
psykokwak89
Messages postés
4
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
16 juin 2004
-
Bon, salut, j'ai po compris ce qui embetter dans la fonction initialisation, moi je trouve ca mieux, et au niveau de la connection ca vérifie que la connection n'existe pas déja, enfin tant que la connnection est lancé par cette class,

voila, voila ,n'hésite pas si tu veut savoir d'autres choses :D
psykokwak89
Messages postés
4
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
16 juin 2004
-
voila j'ai mis a jour en mettant un constructeur
cs_Djai
Messages postés
7
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
18 juillet 2005
-
Je comprend ton envie de copyright pour protéger un peu ton travail mais je ne trouve pas ta source suffisamment complexe pour la protéger....(je suis novice en php et j'ai pas eu de mal à comprendre ta source).
Sinon, pour les plus débutants que moi, l'idée est interressante pour montrer un peu de prog objet en php et l'aide devient alors utile.
Je prend donc cette source comme tutorial...
Mais continue bien car la prog objet est infinie....
Bon courage.
psykokwak89
Messages postés
4
Date d'inscription
jeudi 14 août 2003
Statut
Membre
Dernière intervention
16 juin 2004
-
oki merci :D

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 (psykokwak89)