Thorsten Steffen: die ... -» mysql + perl

Hallo, ich habe folgenden Code in meinem perl-script (mache Zugriffe auf mysql-Datenbank:
$dbh = DBI->connect($dbserver,$dbuser,$dbpass)or die "Can't connect to database: $DBI::errstr\n" ;

wenn ich das script von einer html-Seite aus aufrufe, funktioniert der "die"-Teil aber nicht, wenn es Datenbank-probleme gibt; es passiert garnichts. Muß ich für den html-Zugriff an dem die-Teil was ändern ?

Gruß
Thorsten

  1. hi!

    $dbh = DBI->connect($dbserver,$dbuser,$dbpass)or die "Can't connect to database: $DBI::errstr\n" ;
    wenn ich das script von einer html-Seite aus aufrufe, funktioniert der "die"-Teil aber nicht,
    wenn es Datenbank-probleme gibt; es passiert garnichts. Muß ich für den html-Zugriff an
    dem die-Teil was ändern ?

    Was funktioniert denn daran nicht? die sendet soweit ich weiß an STDERR und nicht an STDOUT, daran könnte es liegen.

    bye, Frank!

    1. hi!

      $dbh = DBI->connect($dbserver,$dbuser,$dbpass)or die "Can't connect to database: $DBI::errstr\n" ;
      wenn ich das script von einer html-Seite aus aufrufe, funktioniert der "die"-Teil aber nicht,
      wenn es Datenbank-probleme gibt; es passiert garnichts. Muß ich für den html-Zugriff an
      dem die-Teil was ändern ?

      Was funktioniert denn daran nicht? die sendet soweit ich weiß an STDERR und nicht an STDOUT, daran könnte es liegen.

      bye, Frank!

      Und was mach ich jetzt ? Kann ich die Ausgabe irgendwie abändern ?
      Gruß
      Thorsten

      1. Was funktioniert denn daran nicht? die sendet soweit ich weiß an STDERR und nicht an STDOUT, daran könnte es liegen.
        Und was mach ich jetzt ? Kann ich die Ausgabe irgendwie abändern ?

        Klar, Du kannst selbst irgendwelche print- und exit-Anweisungen hinschreiben (viel mehr ist "die" ja auch nicht).

        Schreib Dir doch einfach eine eigene Funktion html_die() oder so ähnlich, die genauso parametrisiert wird wie "die", und die nichts anderes tut als den 1. Parameter mit "print" auszugeben und sich dann mit exit(1); beendet.