theEase: MySQL Fehlermeldungen nicht ausgeben..

Hallo!

Ich hab da nur so ne kleine Frage wie ich unter Perl Fehlermeldungen die von MySQL kommen (z.B. "DBD::mysql::db do failed: Duplicate entry") auszuschalten.

Hab es mit der Option -X in der ersten Zeile des Perl Scripts versucht (#!usr/sbin/perl -X) aber das hat leider nicht das gewünschte Ergebniss erbracht...

Hat einer von Euch eine Idee?

Ich bedanke mich im Vorraus....

MfG & Thx

TheEase

Have a nice night - but don't forgat the real world

  1. Hallo,

    Ich hab da nur so ne kleine Frage wie ich unter Perl Fehlermeldungen die von MySQL kommen (z.B. "DBD::mysql::db do failed: Duplicate entry") auszuschalten.

    Suche in der DBI-Doku nach 'PrintError'. (Tip:Kapitel 'ATTRIBUTES COMMON TO ALL HANDLES')

    Wenn Du PrintError auf 0 setzt, kannst Du die Ausgabe der Fehlermeldung unterdrücken.
    Beachte aber auch gleich mal die Ausführungen im Kapitel 'Transactions'. Dort wird in etwa beschrieben, wie Du ein Errorhandling geschickt aufziehen kannst.

    Grüße
      Klaus

    1. Danke!

      Wer lesen kann ist klar im Vorteil.... ;o)

      Hätte ich auch vorher drauf kommen können....

      Danke Tortzdem!

      TheEase

      have a nice night - but don't forget the real world

    2. Hallo ihr beiden,

      Wenn Du PrintError auf 0 setzt, kannst Du die Ausgabe der Fehlermeldung unterdrücken.

      Aber nur, wenn RaiseError auch auf 0 steht.
      Zum Unterschied:
      PrintError macht einen 'warn' bei Fehlern,
      RaiseError einen 'die'.

      Beachte aber auch gleich mal die Ausführungen im Kapitel 'Transactions'. Dort wird in etwa beschrieben, wie Du ein Errorhandling geschickt aufziehen kannst.

      Ich weiss jetzt nicht direkt was du meinst, auf die Fehlerbehandlung mit
      eval {
       ...
      };

      if ($@) { print "Fehler abgefangen: $@"; }

      Weiss ich nur so nebenbei hin.
      Tschö Matti