05-09-2009, 12:47 PM
(05-09-2009, 02:48 AM)Argorate a écrit : 1. la présentation à l'utilisateur est celle qu'on en fait, rien empêche de le faire dans un joli cadre etc.Lolilol "or die('<html>............" j'imagine bien tiens :lol:
Citation :2. Comme je l'ai dit, il suffit de créer sa propre fonction gérant d'un coté l'affichage client (1) et de l'autre l'affichage de mysql_error uniquement au dev. (Pas de pb de sécurité donc).Entre :
Code PHP :
<?php
function mysqlError($mysql_error)
{
// traitement de l'erreur :
// Affichage d'une page d'erreur non détaillée à l'utilisateur
// Envoi d'un mail au dév avec $mysql_error
// Eventuellement traitement de debug_backtrace() pour avoir le détail d'exécution (gare au memory_limit cette fonction est souvent inutilisable...)
}
function main()
{
//...
mysql_query('...') or myFunction(mysql_error());
//...
}
//index.php
main();
Code PHP :
<?php
function mysqlError(Exception $e)
{
// traitement de l'erreur :
// Affichage d'une page d'erreur non détaillée à l'utilisateur
// Envoi d'un mail au dév avec $e->getMessage()
// Eventuellement traitement de $e->getTraceAsString() pour avoir le détail d'exécution (aucun pb d'utilisation)
}
function main()
{
//...
mysql_query('...') or throw new SQLException(mysql_error());
//...
}
//index.php
try
{
main();
}
catch (SQLException $e)
{
mysqlError($e);
}