Hi!
Normal sollte die Fehlermeldung ja in $e->getMessage stehen oder? Oder muss ich da $SelStmt->eroorInfo() das array nehmen? Versteh nur nicht warum keine Message augegeben wird. Im PHP Handbuch steht bei den Fehlerbehandlungen nur die PDO einstellungen.
PDO arbeitet in drei Error-Modi, wie das Handbuch sagt. Im Modus PDO::ERRMODE_EXCEPTION wird zusätzlich eine Exception mit ausgefüllten Feldern geworfen. Der Fehlercode sollte also in der Exception und mit den error*-Methoden abfragbar sein. Wenn du mit Exceptions arbeitest, solltest du nur die Exception nach den Fehlerumständen befragen. Dass die PDO-Klassen Fehlermeldungskomponenten enthalten ist dem Fakt geschuldet, dass man auch ohne Exceptions arbeiten können soll. Aus OOP-Sicht würde ich es aber nicht als besonders sauber bezeichnen, bei einer geworfenen Exception etwas anderes als das Exception-Objekt zu befragen. Exceptions können quasi an beliebigen Stellen gefangen werden und diese Stelle muss einerseits kein Wissen um den Code an der Fehlerstelle und die dortigen Variablen haben, andererseits kann der fehlererzeugende Code und das Exception-Handling auch in unterschiedlichen Scopes angesiedelt sein, so dass aus dem Catch-Block gar nicht direkt auf die interessanten Variablen zugegriffen werden kann.
Der Cache an persistenten Verbindungen erlaubt Ihnen, den Overhead zu vermeiden, wenn jedesmal eine neue Verbindung geöffnet wird, sobald ein Skript mit der Datenbank kommunizieren muss, was sich in einer schnelleren Anwendung widerspiegelt
Ja, das ist der versprochene Vorteil. Aber der Cache kann sich in einem CGI-Programm, dass aufgerufen und nach dem Request wieder beendet wird, nicht halten, weswegen im CGI-Modus keine persistenten Verbindungen möglich sind. Und dann solltest du genau anschauen, wie sich die Anzahl der offenen Verbindungen auf dem MySQL-Server verhält, wenn du das Script ein paar mal startest. Weiterhin solltest du nicht nur die Lobeshymnen sondern auch die Kritiken zu persistenten Verbindungen suchen, beispielsweise hier im Forum mit dem Autor Sven Rautenberg.
Lo!