Por lo que entendí del ejemplo, quieres una consulta preparada que ejecute una consulta dependiendo de los parametros de entrada.
si es así, esto te puede servir. (Hice la prueba en una tabla mía)
Código mysql:
Ver originalDELIMITER $$
#declaro la variable que va ser agregada al query
#si la variable tipo es todos entonces el query se deja en blanco
#si la variable tipo no es todos entonces se agrega la asignacion
#se prepara la consulta en una variable;
set @queryy1
= concat("select *from personas ",queryy
); #asignacion de variable a ejecucion
prepare stmt
from @queryy1
;execute stmt;
DELIMITER ;
fijate que si es uno, no tiene condición, pero si es diferente de uno, aplica la condición.
Código mysql:
Ver original+------+---------------+
| id | nombre |
+------+---------------+
| 1 | daniel |
| 2 | maria daniela |
+------+---------------+
Query OK, 0 rows affected (0.01 sec)
+------+--------+
| id | nombre |
+------+--------+
| 1 | daniel |
+------+--------+
Query OK, 0 rows affected (0.00 sec)
Espero te sirva.