Hi!
$arr = $stmt->errorInfo();
$text = $arr[2]; // Wert des dritten Array-Index
>
> Alternativ dazu könnte die Methode errorInfo() auch modifiziert werden. Durch Angabe eines Parameters wäre es dann z.B. möglich, nicht ein Array, sondern nue ein Element des Ergebnisarrays zurückzugeben.
>
> Dazu müsstest Du natürlich in den Quellcode eingreifen, bzw. ihn entsprechend vererben.
Das wird sich als ziemlich umständlich herausstellen. Wie in [seiner anderen Anfrage](https://forum.selfhtml.org/?t=195274&m=1306887) zu sehen ist, verwendet er PDO. Ein PDOStatement-Objekt wird von PDO::prepare() erzeugt. Man müsste nun also von der Klasse PDO erben und prepare() überschreiben, dass es ein Objekt einer von PDOStatement abgeleiteten Klasse zurückgibt. Da man nicht alle Funktionalität von prepare() neu erfinden will, ruft man zweckmäßigerweise das PDO::prepare() auf und hat nun weiterhin das Problem, ein PDOStatement-Objekt zu haben und kein davon abgeleitetes. Man kann einen Dekorator davorsetzen oder auf anderem Wege eine Umschreibung vornehmen. Auf alle Fälle muss man dafür sorgen, dass die Methoden und Eigenschaften von PDOStatement, die man verwenden will, weiterhin erreichbar sind. Das führt im Decorator-Fall mindestens zur magischen Methode [__call()](http://de.php.net/manual/en/language.oop5.overloading.php). Da sehe ich den Weg über eine Zwischenvariable doch als den schmerzfreiesten an, mit dem geringsten Fehlerpotential.
Lo!