{"issue":{"created_at":"2011-11-29T21:13:42Z","state":"open","updated_at":"2011-11-29T21:13:46Z","user":{"gravatar_id":"256406243346b9253f8610fb1d1e05f6","id":1215373,"url":"https://api.github.com/users/importer","avatar_url":"https://secure.gravatar.com/avatar/256406243346b9253f8610fb1d1e05f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"importer"},"comments":3,"body":"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.\n\nHier ein bissl Dummy-Code:\n\n```\n$objStmt = $this->Database->prepare(\"SELECT * FROM tl_user WHERE id = ?\");\nforeach($arrUsers as $intUserID) {\n  $objUser = $objStmt->execute($intUserID);\n  // tue irgendwas mit $objUser\n}\n```\n\nDas ist nicht möglich, jedoch sehr intuitiv egtl. das so zu benutzen.\nMein 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.\n\n--- _Originally created by backbone on July 13th, 2011, at 01:53am (ID 3262)_","assignee":null,"id":2393200,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"number":3262,"labels":[{"name":"Defect","color":"bd2c00","url":"https://api.github.com/repos/contao/import/labels/Defect"},{"name":"framework","color":"e6e6e6","url":"https://api.github.com/repos/contao/import/labels/framework"},{"name":"Invalid","color":"ffdd00","url":"https://api.github.com/repos/contao/import/labels/Invalid"}],"title":"Reexecute eines (Prepared-)Stmts","closed_at":null,"html_url":"https://github.com/contao/import/issues/3262","url":"https://api.github.com/repos/contao/import/issues/3262","milestone":null},"action":"created","comment":{"created_at":"2011-11-29T21:13:44Z","updated_at":"2011-11-29T21:13:44Z","user":{"gravatar_id":"256406243346b9253f8610fb1d1e05f6","id":1215373,"url":"https://api.github.com/users/importer","avatar_url":"https://secure.gravatar.com/avatar/256406243346b9253f8610fb1d1e05f6?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"importer"},"body":"Wenn ich vor dem ->execute, ein\n\n```\n$objStmt->prepare(\"SELECT * FROM tl_user WHERE id = ?\");\n```\n\nmache, dann funktioniert das natürlich wieder, ist aber doof, da wieder das ganze Statement auf INSERT/UPDATE bla getestet wird.\n\n--- _Originally created by backbone on July 13th, 2011, at 02:35am_","id":2948759,"url":"https://api.github.com/repos/contao/import/issues/comments/2948759"}}