Aller au contenu

Page d'erreur MySQL personnalisée


Sebastien

Sujets conseillés

Find :

  function setError()
{
if ($this->con_id) {
$this->error = mysql_error($this->con_id);
$this->errno = mysql_errno($this->con_id);
} else {
$this->error = (mysql_error() !== false) ? mysql_error() : 'Unknown error';
$this->errno = (mysql_errno() !== false) ? mysql_errno() : 0;
}
}

Replace

  function setError()
{
Header('Location: /mysql_plante.html');

}

Mais bon c'est une solution il y'en d'autres :)

Lien vers le commentaire
Partager sur d’autres sites

Merci Smile ! je vois ce que fait le nouveau code que tu m'a fournit, mais l'ancien que faisait il (en français) ? Et est-ce que sa mise en oeuvre risque de perturber Dotclear ou les plugins ?

Lien vers le commentaire
Partager sur d’autres sites

Aucunement, il devrait pas perturber Dotclear, la fonction erreur sans modifications indiquait le message d'erreur mysql, ici tu fais une redirection mais il faut que tu vois à l'usage si le header est bien pris en compte, je n'ai pas dotclear installé actuellement, il faut tester ...

Tu peux telecharger le fichier modifié ici class.mysql.php et le remplacer, (garde l'ancienne version si t'as un problème quelconque ...)

http://www.mayocrea.com/demo/tel.php?Fichi...s.mysql_new.php

Lien vers le commentaire
Partager sur d’autres sites

Euhh c'est un peu tendu quand même... je ne me risquerai pas à ça :unsure:. Avec cette modification tu empêches la navigation sur ton site quelque soit le type d'erreur que MySQL te retourne.

La solution la plus propre serait de redéfinir le gestionnaire d'erreurs de php, pour personnaliser ce type d'erreur mais là ça devient beaucoup plus compliqué à développer...

Lien vers le commentaire
Partager sur d’autres sites

C'est que Sébastien souhaitait, une page personnalisée en cas d'erreur mysql, mais en effet il ne distingue pas dans ce cas le type d'erreur.

IL faut recuperer l'erreur ($this->error) , pourquoi pas en y creant un fichier log si on a pas acces à la machine, beaaucoup de possibilités, tout dépend de son souhait :)

Lien vers le commentaire
Partager sur d’autres sites

Ah il y a plusieurs erreurs possibles ? En fait mon idée était de mettre une page d'erreur à destination des utilisateurs indiquant que le site est momentanément indisponible et les invitant à revenir plus tard quand MySQL est en carafe.

Lien vers le commentaire
Partager sur d’autres sites

Bah à priori ce que Sebastien voulait c'est un message personnalisé si MySQL est planté, donc il faudrait faire la redirection que dans le cas où la connection à la base n'est pas possible. Mais ne connaissant pas Dotclear en profondeur, même ça je ne le conseillerai pas ;)

Lien vers le commentaire
Partager sur d’autres sites

Les enregistrements de la requête en cours, mais toutes les autres requêtes peuvent s'éxécuter normalement. Les erreurs mysql ne sont pas bloquantes et le script PHP peut continuer à s'éxécuter tout à fait normalement ;).

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...