Avatar billede dank Nybegynder
11. juli 2003 - 20:54 Der er 12 kommentarer og
4 løsninger

få tilsendt mysql error på mail

istedet for or die();

Er der så en mulighed for at lave et customscript der sender en mail med fejlen?

Nogen idéer?
Avatar billede dank Nybegynder
11. juli 2003 - 20:54 #1
(skal bruges til debugging på et eksisterende site)
Avatar billede ahv Nybegynder
11. juli 2003 - 20:56 #2
Aner ikke lige om man kan, men hvad med or mail("mail@udbyder.dk","Fejl","Mange fejl");

Man kan sikkert ikke men prøv ;o)
Avatar billede erikjacobsen Ekspert
11. juli 2003 - 20:56 #3
ja

  ... or mail("til@dig.dk","FEEEJL",mysql_error());
Avatar billede phpwiz Nybegynder
11. juli 2003 - 20:56 #4
mysql_query("SELECT ......") or die(mail("send@to.dk","mysqlerror",mysql_error());

noget a'la dette
Avatar billede ahv Nybegynder
11. juli 2003 - 20:57 #5
Hmm det kunne man så godt :o)
Avatar billede erikjacobsen Ekspert
11. juli 2003 - 20:57 #6
Men tænk på brugeren. Du skal have din mail, og brugeren skal have en
fornuftig reaktion.
Avatar billede dank Nybegynder
11. juli 2003 - 20:59 #7
måske kunne man så¨skrive sin egen funktion, der skriver en fornuftig fejl på skærmen, samt sender en mail? Er det måske vejen frem?
Avatar billede erikjacobsen Ekspert
11. juli 2003 - 21:02 #8
ja *g*
Avatar billede dank Nybegynder
11. juli 2003 - 21:03 #9
oki tak.

Erikj..> Opretter du svar?
Avatar billede googolplex Novice
11. juli 2003 - 21:04 #10
Hvad med at bruge en funktion som denne (webcafe):

function udskriv_fejl($fejl) {

    echo "<p>$fejl</p>";

    if ($mysql_fejl = mysql_error()) {
        echo "<p>Fejlen er: <b>$mysql_fejl</b></p>";
                mail("send@to.dk","mysqlerror",$mysql_fejl);
        }

    exit;
}

Ved ikke om det virker...bare et forslag baseret på det de andre har skrevet :)
Avatar billede erikjacobsen Ekspert
11. juli 2003 - 21:11 #11
Tjah, men tænk over hvad du gerne vil have at vide.

Fejlbeskeden, selvfølgelig
Selve SQL-sætningen
Scriptnavnet (med evt kataloger det ligger i)
Linienummeret fra scriptet (det ved jeg ikke lige hvordan det gøres
nemt. Det skal ikke være linien i din funktion, men der hvor din funktion
kaldes)
Dato, tid, brugernavn (hvis du har et login system) .... osv osv

Jeg har selv sådan noget kørende,  og husker fx en gang sådan en
besked bippede ind på en SMS, og jeg på 2½ sekund havde fundet ud
af hvad fejlen var. Det tog så desværre en times tid at nå hjem til en
computer og få den rettet :)
Avatar billede erikjacobsen Ekspert
11. juli 2003 - 21:12 #12
googolplex: jeg tror ikke brugeren behøver at få sådan en besked
skrevet ud. Ideen er vel netop at udvikleren får dem, og brugeren
får en anden fornuftig reaktion.
Avatar billede detox Nybegynder
11. juli 2003 - 21:30 #13
Du kan osse bruge desideret errorhandling, hvis du vil fange enhver fejl. Fx:
-----------
function eh($type, $msg, $file, $line) {
    error_log("$msg (error type $type)", 1, "din@mailadresse.dk");
    // if fatal error, die()
    if ($type == E_USER_ERROR)
    {
        die($msg);
    }
}
// define custom handler
set_error_handler("eh");
// provokér en fejl ved at include ikke eksisterende fil
include("common.php");
?>
Avatar billede ohmish Nybegynder
12. juli 2003 - 00:16 #14
$fejl = "fejl ved forbindelse til server/database<br>webmaster er informeret";
mysql_connect("forbindelse" osv osv) or @mail("webmaster@domæne.dk","mysqlerror",mysql_error()); die($fejl);
Avatar billede ohmish Nybegynder
12. juli 2003 - 00:27 #15
nej det var vist ikke rigtigt det jeg skrev der..
Avatar billede dank Nybegynder
10. august 2003 - 23:34 #16
ups.. kom til at dele mellem jer alle..

Nogen der er utilfredse? Så må jeg oprette et nyt ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester