PHP's PDO vorbereitete Anweisung: Kann ich einen Platzhalter mehrmals verwenden? [Duplikat
Diese Frage hat hier bereits eine Antwort:
PDO Parameterized Query - Benannte Platzhalter wiederverwenden? 3 AntwortenIch möchte folgende Abfrage durchführen:
SELECT *, (SELECT COUNT(*) FROM `tab2` WHERE `parent` = :id) AS `sum` FROM `tab1` WHERE `id` = :id
Wie du sehen kannst:id
er @ -Platzhalter wurde zweimal in der Abfrage angezeigt. Wenn ich also versuchen würde, diese Anweisung auszuführen mit:
$q->execute(['id'=>$row_id]);
Ich erhalte den Fehler:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number
So muss ich die vorbereitete Abfrage umschreiben und das Array mit den Platzhaltern: id1 und: id2 ausführen, was für mich etwas blöd aussieht.
Ist es die einzige Möglichkeit, einen Platzhalter an mehreren Stellen der vorbereiteten Anweisung zu verwenden?