FREEWARE: db Klasse für MySQL mit Fehler-LOG!

drrusty

Grünschnabel
Wer es benötigen kann, soll's haben!

Frisch aus meinem Hause: dbClass.inc.php v2.1 <-- UPDATE

in der Zip-Datei sind ebenfalls eine Beispiel-PHP-Datei und 2 HowTo's (en|de) integriert.

Einfache Integration, sichere DB-Abfragen!
Alle Fehler landen in einer Log-Datei, die in einem passwortgeschütztem Verzeichnis liegen kann. Somit ist gewährleistet, dass niemand ausser dem Admin Fehler zu Gesicht bekommt.
Ebenfalls ist im no-debug-modus ein ReDirekt auf z.B. die index-Seite möglich, sodass der User kaum merkt, dass ein Fehler passiert ist und alle Abfragen, die zu Fehlern führten, werden protokolliert!

hier die ZIP-DATEI (4 Dateien) 7 KB

hier die nähere Beschreibung

!und hier gehts zu dem Code von dbClass.inc.php

have fun!

bei Fragen, einfach hier im Thread posten
 
Zuletzt bearbeitet:
Was mich auch an dieser Klasse stört, schlechte möglichkeit der benutzderdefinierten Fehlerbehandlung. Damit beziehe ich mich insbesondere auf die Ausgabe der Fehler. Schöner wäre es wenn ich der Klasse bzw. meinem DB Objekt ein Objekt + Methode übergeben kann, die dann bei Fehler aufgerufen wird.
Ein paar @s würden dann auch noch gut tun.

Ansonsten gefällt sie mir ganz gut nur naja ist halt in vielen Sachen nur für einfaches zu gebrauchen, da Entry exists beispielsweise eben zwangsweise mit dem festen Statement arbytet....

Da fände ich es beispielsweise besser wenn das db-modul die auszulesenden Daten gleich in ein je nach Fall ein oder zwei-Dimensionales Array packt.
 
Danke!

Hallo Ben!

Danke für deine Tips! die klasse ist wirklich sehr simpel und ist eher für Anfänger im OOP gedacht. Bei der Überarbeitung werde ich evtl deinen letzten Vorschlag mit rein nehmen.

Gruß
 
Die @'s nicht?

Wegen dem Fehlerbehandlugnsobjekt kannst du das ja auch optional machen.
Einfach ne eigene Funktion raise_error, der du deinen fehler übegibst.
Hat sie kein ALternativobjekt mit Methode zum Ausgeben gibst du es so aus ansonsten an die methode weiter...
 
naja im Prinzip funktioniert das schon annähernd so, wie du es beschrieben hast, nur landet die Fehlermeldung selbst in einem Log. Die Fehlerausgabe SOLL NICHT direkt auf der Seite erfolgen, wenn man z.B. online entwickelt. Typo3, dass du z.B. benutzt, schmeisst dir ja auch keine Details, ausser schönem 404 , über Fehlermeldunen, nicht wahr?

Mit der Einsicht in das LOG kann man wie gewohnt debuggen und ein normaler Besucher hat keine Chance an nur einen Tabelennamen aus deiner DB zu kommen.

Oder habe ich dich etwa falsch verstanden?
 
ich muss sagen, dass mir das ganz gut gefällt! Leider kann ich die Klasse erst bei meinem nächsten Projekt benutzen, da ich momentan eine andere habe. Ich müsste dann 1.000 SQL-Abfragen ändern :(

Nochwas, als Anregung (falls es nicht schon implementiert ist): Vielleicht könnte man die Log-Datei auf die letzten x Fehler beschränken, sodas nur noch, sagen wir mal 25 Einträge gemacht werden. Oder alle Fehler der letzten x Tage. Am besten noch frei konfigurierbar.

Und um Ben Ben zufrieden zu stellen, die Art der Fehlerausgabe könnte auch frei konfigureierbar sein: entweder Log, Direktausgabe auf der Seite, oder beides ;)
 
Hi!
Im moment sind es ja bereits 2 LOG Dateien, eine mit allen Fehlern und eine mit dem letzten Fehler, zur besseren Übersicht und schnellerem Finden. (beide kann man jederzeit von Hand löschen/leeren)

Trotzdem Danke für die Tips! ich mache mich dann bald wieder an die Arbeit :)
die v2.1 bringe ich morgen raus und weitere Änderungen folgen bestimmt!

Für Konkrete Vorschläge mit CODE würde ich mich ebenfalls sehr freuen!

Grüße aus Berlin!
 
@pxl: Da braucht man mich nicht zufrieden stellen ;) Das war nur ein Vorschlag, da ich es bei meiner DB-Klasse so realisiert habe.
 
is doch ok so! nicht jeder hat eine DB, man muss nichts einrichten. Und später sollten eh keine Fehler mehr da sein, da ist die Performance doch eh egal *g*
 
Zurück