Cacher les erreurs de requetes

Répondre
Lefounard
le 23/04/2006 à 22:17
Lefounard
Bonsoir,
Voila j'aimerais gerer proprement les erreurs sql, j'ai vu qu'on pouvait les cacher en mettant le @ devant les fonctions php pour mysql, or certains le deconseille et ne trouve pas ca propre, moi je voudrais cacher les erreurs dans la page du visiteur (y compris sa source), et ensuite pouvoir envoyer l'erreur avec une fonction mail a mon adresse.
Auriez-vouqs des idées ? ou sinon y a til des moyens plus judicieux pour gerer les erreurs ?!
Ciao,
I am singing in the rain , I am happy again !!
Bzh
le 24/04/2006 à 02:46
Bzh
Ce qui donne en pratique:

<?php

/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//Fonction de gestion des erreurs
function gestionnaire_erreur ($numero_erreur, $message_erreur, $fichier_erreur, $ligne_erreur)
{

$numero_erreur = mysql_real_escape_string($numero_erreur);
$message_erreur = mysql_real_escape_string($message_erreur);
$fichier_erreur = mysql_real_escape_string($fichier_erreur);
$ligne_erreur = mysql_real_escape_string($ligne_erreur);

$requette = 'INSERT INTO gestion_erreur(type_erreur, message, fichier, ligne, date) VALUES("'.$numero_erreur.'","'.$message_erreur.'","'.$fichier_erreur.'","'.$ligne_erreur.'",now() )';
@mysql_query($requette);
}
//Choix de la télérance des erreurs conseillé de mettre en total
error_reporting(E_ALL);
//On indique la fonction avec laquelle on gère les erreurs
$gestion_erreur = set_error_handler("gestionnaire_erreur");
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////


?>


Voila comment je gère mes erreurs...

Bye
Lefounard
le 24/04/2006 à 12:44
Lefounard
Salut,
Merci bzh mais pourrait me mettre ou tu lances ton erreur, car moi j'essais mais ca marche pas, j'utilise le trigger_error, et rien n'est sauver, et le message d'erreur s'affiche quand meme.
Merci,
I am singing in the rain , I am happy again !!
Bzh
le 24/04/2006 à 15:11
Bzh
Ah ?

tu as essayés par exemple en ouvrant un fichier qui n'existe pas ?

Les erreurs de syntaxes, il me semble bloque l'exécution du script...

Rajoute après le code de gestion d'erreurs:
<?php

$f = fopen("fichier_qui_nexiste_pas.txt","r");

?>


Ou bien, génère une erreur de syntaxe sql !!!

Voili....
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours