AllesMeins: MySQL "Fehlerposition"

Hi,

ich versuche gerade eine möglichst clevere Funktion zur formatierung von MySQL Fehlermeldungen zu erstellen. Also sprich Abfragequery, Fehlernummer und Fehlermeldung möglichst übersichtlich ausgeben bzw. Fehlermeldungen verstecken, wenn das System der öffentlichkeit zugänglich ist.
Mir fehlt nur noch eine Sache: Nämlich eine möglichst gute Methode herauszufinden wo der betreffende Fehler verursacht wurde. Das erste was mir einfiel, aber ziemlich unpraktisch ist, wäre jeder MySQL Abfrage per Hand eine eindeutige Nummer im Code zuzuweisen. Also sprich die Fehlerfunktion wird einmal aufgerufen mit mysql_fehler(1,...) das nächste mal mit mysql_fehler(2,...) usw. So könnte ich sehr schnell die passende Position finden, aber bei der Pflege ist das doch recht umständlich. Gibt es da irgend eine bessere Lösung?

Grüße

Marc

  1. Hi,

    Mir fehlt nur noch eine Sache: Nämlich eine möglichst gute Methode herauszufinden wo der betreffende Fehler verursacht wurde.

    hilft Dir debug_backtrace()?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      ja perfekt! Vielen Dank

      Marc

  2. echo $begrüßung;

    ich versuche gerade eine möglichst clevere Funktion zur formatierung von MySQL Fehlermeldungen zu erstellen. Also sprich Abfragequery, Fehlernummer und Fehlermeldung möglichst übersichtlich ausgeben bzw. Fehlermeldungen verstecken, wenn das System der öffentlichkeit zugänglich ist.

    Warum willst du dich nur auf MySQL-Fehlermeldungen beschränken? Auch PHP-Fehlermeldungen haben in der Öffentlichkeit nichts verloren.
    Mein Vorschlag: Im Kapitel Error Handling and Logging Functions wird beschrieben, wie man eine eigene Funktion als ErrorHandler einsetzt. Diese bekommt auch Dateiname und Zeilennumer des Fehlers übergeben. (Auch alle Variablen des Kontextes, in dem der Fehler auftrat, werden übergeben, und debug_backtrace() lässt sich auch verwenden.)
    Mit trigger_error() lassen sich eigene Fehler generieren. Damit kann man aus MySQL-Fehlermeldungen PHP-Fehler machen. In deiner ErrorHandler-Funktion bekommst du dann zumindest die Zeilennummer des trigger_error()-Aufrufs übergeben.

    echo "$verabschiedung $name";