contao/import — Issue #3262: Reexecute eines (Prepared-)Stmts
Author: importer
Created: 2011-11-29 21:13:42+00:00
State: open
Labels: Defect, framework, Invalid

Das wiederholte Ausführen eines vorbereiteten Datenbankstatements ist mit der derzeitigen Implementierung nicht möglich. Das ist ziemlich schräg, denn egtl. sind Statements doch genau dafür da um sie erneut auszuführen. Das Spart einem ne Menge Objekte, wenn man per Rekursion/Iteration immer wieder ähnliche DB-Querys senden muss, wie zum Beispiel bei einer Navigation.

Hier ein bissl Dummy-Code:

```
$objStmt = $this->Database->prepare("SELECT * FROM tl_user WHERE id = ?");
foreach($arrUsers as $intUserID) {
$objUser = $objStmt->execute($intUserID);
// tue irgendwas mit $objUser
}
```

Das ist nicht möglich, jedoch sehr intuitiv egtl. das so zu benutzen.
Mein Vorschlag ist im Attribut $strQuery von der Klasse Database_Statement immer die Originale "unvorbereitete" Query zu halten (ohne ersetzte Wildcards) und eine neue Eigenschaft $strPreparedQuery, welche die Funktion der jetzigen Eigenschaft $strQuery übernimmt.

--- _Originally created by backbone on July 13th, 2011, at 01:53am (ID 3262)_