Declaración preparada para PDO de PHP: ¿puedo usar un marcador de posición varias veces? [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Consulta parametrizada de PDO: ¿reutilizar marcadores de posición con nombre? 3 respuestasMe gustaría realizar la siguiente consulta:
SELECT *, (SELECT COUNT(*) FROM `tab2` WHERE `parent` = :id) AS `sum` FROM `tab1` WHERE `id` = :id
Como puedes ver:id
marcador de posición apareció dos veces en la consulta. Entonces, si intentara ejecutar esta declaración con:
$q->execute(['id'=>$row_id]);
Estoy recibiendo el error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number
Así que tengo que reescribir la consulta preparada y ejecutar la matriz con: id1 y: id2 marcadores de posición, lo que me parece un poco estúpido.
¿Es la única forma de usar un marcador de posición en varios lugares de la declaración preparada?