[PHP] PDO->prepare()/PDOStatement und Fehlermeldungen
Posted: 2007-06-24 11:54
Hallo,
ich stehe jetzt vor dem Problem, dass PDOStatement mir keine Fehlermeldungen zurückliefert, sondern nur - wie auch in der Dokumentation festgehalten - ein boolsches false zurück gibt. Dies ist jedoch für die Fehlerbehebung problematisch.
Randnotiz zum Aufbau der Datenbank-Abstraktions-Schicht (kurz DAS):
1) Eine Instanz (bzw. Referenz) der Klasse DatabaseAbstractionLayer wird erzeugt
2) Die Verbindungsdaten für die Datenbank werden übergeben
3) Die DAS erzeugt nun ein Objekt der jeweiligen Datenbanktreiber zwecks Datenbank-Abstraktion (Notwendig um die Abfragen abstrakt formulieren zu können)
4) Der Treiber schustert durch dem Aufruf der Funktion $DAS->ExecuteQuery($parameter1, $parameter2, etc.) die Abfrage zusammen und führt diese auf der aktiven Datenbankverbindung (per Referenz aus der DAS) aus
Das Problem hierbei ist, dass PDO Fehlermeldungen (Exceptions) zurückgibt, PDOStatement bzw. PDO->prepare diese unterschlägt und ein nutzloses false zurück gibt.
Ist es irgendwie möglich, an die Fehlermeldung heran zu kommen?
Und gleich noch eine Frage hinterher, erlaubt PDO->prepare() nur Platzhalter im Sinne von :variable oder dürfen Eigenkonstruktionen (z.B.: %var_1%) auch verwendet werden (gemäß str_replace Logik)?
Gruß
dtdesign
ich stehe jetzt vor dem Problem, dass PDOStatement mir keine Fehlermeldungen zurückliefert, sondern nur - wie auch in der Dokumentation festgehalten - ein boolsches false zurück gibt. Dies ist jedoch für die Fehlerbehebung problematisch.
Randnotiz zum Aufbau der Datenbank-Abstraktions-Schicht (kurz DAS):
1) Eine Instanz (bzw. Referenz) der Klasse DatabaseAbstractionLayer wird erzeugt
2) Die Verbindungsdaten für die Datenbank werden übergeben
3) Die DAS erzeugt nun ein Objekt der jeweiligen Datenbanktreiber zwecks Datenbank-Abstraktion (Notwendig um die Abfragen abstrakt formulieren zu können)
4) Der Treiber schustert durch dem Aufruf der Funktion $DAS->ExecuteQuery($parameter1, $parameter2, etc.) die Abfrage zusammen und führt diese auf der aktiven Datenbankverbindung (per Referenz aus der DAS) aus
Das Problem hierbei ist, dass PDO Fehlermeldungen (Exceptions) zurückgibt, PDOStatement bzw. PDO->prepare diese unterschlägt und ein nutzloses false zurück gibt.
Ist es irgendwie möglich, an die Fehlermeldung heran zu kommen?
Und gleich noch eine Frage hinterher, erlaubt PDO->prepare() nur Platzhalter im Sinne von :variable oder dürfen Eigenkonstruktionen (z.B.: %var_1%) auch verwendet werden (gemäß str_replace Logik)?
Gruß
dtdesign