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 Antworten

Ich 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:ider @ -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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage