begin process at 2012 05 27 22:15:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > CLASSE MYSQL AVEC JOURNAL D'ERREUR

CLASSE MYSQL AVEC JOURNAL D'ERREUR


 Information sur la source

Note :
8 / 10 - par 3 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Class et Objet ( POO ) Classé sous :mysql, erreurs, journal, classes, poo Niveau :Initié Date de création :14/12/2005 Date de mise à jour :15/12/2005 17:19:17 Vu / téléchargé :6 334 / 654

Auteur : The_Template

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Bonjour!
Je vous livre ma classe mysql qui a quelques particularitées :
- chaque erreur enregistre un rapport dans un dossier configurable
- il est possible d'afficher, de retourner ou d'enregistrer le statut du serveur dans ce dossier
- une option de configuration détermine si oui ou non les erreurs seront affichées à l'ecran, si non, la classe affiche à
la place un fichier d'erreur configurable

Voilà comment utiliser cette source :

1) le fichier config

Vous devez tout d'abord créer un fichier de configuration sur le modèle suivant :
$serveur = 'Ladresse de votre serveur';
$utlisateur = 'Votre nom d'utilisateur';
$password = 'Votre mot de passe';
$bd = 'la base de données à selectioner;
$niveau_rapport = 1 pour avoir un rapport d'erreur détaillé, 0 sinon;
$error_root = le chemin où seront stockés vos rapports d'erreur;
$debug_mode = TRUE pour que des rapports d'erreur s'affichent en cas d'erreur. A FALSE,  la classe affichera un    message paramétrable;
$ms_erreur = Message d'erreur à utiliser si debug_mode est à FALSE;

2) utilisation

Ne pas oublier d'inclure cette classe dans votre fichier !
include('mysql.php');

a) définition de l'objet
On utilisera la syntaxe suivante :
$sql = new mysql('Chemin de votre fichier config');

b) faire une requête
pour faire une requête qui renvoie un résultat :
$resultat = $sql->requete("REQUETE");
pour faire une requête qui ne renvoie pas de résultat
$sql->requete("REQUETE", TRUE);
Utiliser cette le paramètre TRUE augmente alors les performances

c)afficher le nombre de requêtes
La fonction qui retourne le nombre de requêtes est nb_requetes()
On utilisera donc :
$nb = $sql->nb_requetes();
Ou
echo nb_requetes();

d)recevoir l'etat du serveur
La fonction qui permet de recuperer l'etat du serveur est :
stats($niveau);
$niveau à 0 (par defaut) affiche l'etat du serveur
$niveau à 1 renvoie l'etat du serveur sous forme d'array
$niveau à 2 enregistre un rapport dans $error_root (que vous avez défini dans le fichier de configuration)

e)en cas d'erreur
Un rapport d'erreur sera enregistré dans $error_root.
Si $niveau_rapport est à 1, le rapport contiendra aussi l'etat de la base de données au moment de l'erreur.
Un exemple de rapportd d'erreur est inclut dans le zip.

        f) liberer une ressource
Pour libérer une ressource mysql, il suffit d'appeler la fonction free(). Si le paramétre optionel est à      
FALSE, seule la dernière ressource mysql sera libérée :
$sql->free(); //Libére la dernière ressource
$sql->free(FALSE); //Libére la dernière ressource


 Conclusion

Le zip comprend un fichier utilisation (index.php), un fichier config(config.php)
et un dossier d'erreurs (erreurs/). A l'interieur de ce dossier se trouve un exemple de rapport d'erreur (erreurs/exemple_rapport.txt)
ainsi qu'un exemple de rapport de l'etat du serveur (erreurs/exemple_stats.txt)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

14 décembre 2005 22:05:04 :
Ajout de la gestion d'erreur pour mysql_unbuffered_query
15 décembre 2005 17:19:18 :
Ajout de la méthode free([$global]), qui permet de libérer les ressources mysql.

 Sources du même auteur

Source avec Zip UN MOTEUR DE TEMPLATE (GÉRE LES SOUS-BLOCS À TOUS LES NIVEAU...
Source avec Zip SCRIPT QUI GÉNÈRE UN FICHIER .HTPASSWD ET UN FICHIER .HTACCE...

 Sources de la même categorie

Source avec Zip GÉNÉRATION AUTOMATIQUE DE FICHIER .CLASS.PHP EN FONCTION D'U... par ig3
CLASSE D'OBJET DE CRYPTAGE ET DÉCRYPTAGE DE CHAINES DE CARAC... par 8Tnerolf8
Source avec Zip MY.DEVIANTART API par inwebo
CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture DBOC - V3.1 [AJAX][PHP5] par Morphinof
Source avec Zip [PHP5.2] CLASSE PDO par hornetbzz
Source avec Zip GESTION DE FICHIERS AVEC LA SPL par alphanono
Source avec Zip CLASSE : GESTION D'UTILISATEURS par yoman64
Source avec Zip DBOC 1.6 [PHP5] par Morphinof

Commentaires et avis

Commentaire de FhX le 14/12/2005 21:44:07

Bon, je vais mettre quelques commentaires :
"$this->flux=mysql_connect($this->sql_serveur, $this->sql_utilisateur, $this->sql_password);
if(!$this->flux)"
Pas la peine de faire le test dans ce cas la, car tu auras une erreur qui s'affichera. Met un @ devant mysql_connect();

Le coup du query_unbuffered... pas mal du tout,j'y avais même plus songé !

Il manque juste mysql_free_result() pour libérer une ressource de la mémoire !

Mais sinon c'est pas mal :)

Commentaire de The_Template le 14/12/2005 22:08:19

Merci :)
Pour le mysql_free_result(), j'y avait pensé, mais je vois pas où l'intégrer, vu que si je le met après le return il ne sera pas lu, et avant le return ca nous libèrera ce que l'on veut retourner !

Commentaire de The_Template le 14/12/2005 22:21:34

Est ce que
$i = 0;
while(array_key_exists($i, $this->requete))
{
   mysql_free_result($this->requete[$i]);
   $i++;
}
dans la fonction de deconection est une bonne solution ?
je n'en suis pas persuadé.

Commentaire de FhX le 14/12/2005 22:46:58

Non, fais en une méthode appart. Si on veut l'appeler, on l'appèle, sinon tant pis :)

Commentaire de iomega le 15/12/2005 08:41:44

Hello j'ai voulu essayer ta source donc j'ai saisi mes parametres et j'ai ce message d'erreur Fatal error: Call to undefined function: debug_backtrace() in c:\program files\easyphp\www\classe_mysql\mysql.php on line 208

Effectivement il manque la fonction debug_backtrace()
as-tu une idée ?

Commentaire de malalam le 15/12/2005 09:29:12 administrateur CS

Réponse à Iomega : c'est une fonction interne à php, disponible à partir de php 4.3 :
http://fr2.php.net/manual/fr/function.debug-backtrace.php

Pas le temps de mater le source sinon, désolé, une autre fois :-)

Commentaire de The_Template le 15/12/2005 17:22:07

FhX, j'ai ajouté suite à ta sugestion une méthode pour libérer les ressources. La syntaxe est :
$sql->free($global);
si $global est à TRUE (par défaut), toute les ressources seront libérées.
si il est à FALSE, seule la dernière ressource sera libérée.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Prob SQL [ par stu76 ] Bonjour,J'ai un prob j'ai une base de données avec plusieurs tables, deux d'entres elles ont une relation de n-n ( plusieurs a plusieurs). Pour cela j Appel d'une classe dans une classe [ par qntoinOo ] Bonjour à tous,Je suis face à un petit problème, je fait appel dans mon site à plusieurs classes une pour mes requêtes mysql, une pour mon système de PHP et Mysql : ou sont les erreurs ? [ par hitman06 ] Bonjour, j'essai de faire un script en PHP, mais je rencontre plusieurs erreurs.Tout d'abord, pouvez-vous me dire ce qui ne va pas ici :  &n APACHE - PHP - MYSQL [ par Epoc22 ] HELP ! J'ai pas trop l'habitude de demander de l'aide mais là j'ai un gros problème : J'ai installé PHP Version 5, Apache 2, MySQL 5 et logiciel POO [ par kowal2205 ] Je me pose la question de la création de mes classes dans un projet de taille moyenne car je ne trouve pas de logiciel à mon pied qui me per Recherche journal sans base MySql! [ par norm131 ] J,ai beau chercher pas mal, et comme je n'ai pas encore trouver le tutoriel dont j'ai besoin, est-ce que quelqu'un peut me guider et me dire ou je pui heelp !!!!! au secours !!pdf-php-xml-mysql [ par mystere11 ] Bonjour je suis en train de developper une platforme en php mysql et dans une rubrique je dois faire un rapport qui donne des info prise de la base MySQL varchar(255) [ par ImmortalPC ] Salut, je commence en SQL mais je ne comprends pas certain truc : ça veut dire quoi exactement varchar(255) ??? Et qu'elle est la requette qui me effacer un enregistrement Php+mysql [ par missFlo17 ] Bonjour à tous,Je débute dans le domaine de la prog et j'ai un problème pour effacer les enregistrements de ma base de données. J' Formulaire php [ par xenthor ] J'ai un petit souci avec un formulaire en php.J'ai recherché sur internet en vain.J'ai deux fichiers: insert.php et formulaire.phpVoilà le c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales