Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/12/2012, 17:03
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Variables externas en sentencia preparada

No estás prestando suficiente atención...
Esto está mal:
Código MySQL:
Ver original
  1. SET @s = CONCAT (@s,' AND productos.nombre = '%', busca,''%');

debería ser así:
Código MySQL:
Ver original
  1. SET @s = CONCAT (@s,' AND productos.nombre = '\'%', busca,'%\'');

O bien:
Código MySQL:
Ver original
  1. SET @s = CONCAT (@s,' AND productos.nombre = ''%', busca,'%''');
Si te fijas en el resaltado del etiquetado que puse, en tu sentencia la palabra "busca" queda en rojo, como se resalta en este caso a las cadenas de texto. Eso es incorrecto. Al aplicar la etiqueta, el resaltado de esa palabra no existe. Debe quedar en negro, de lo contrario la sintaxis está mal.

Mi consejo es que uses un buen front end con corrector sintáctico para hacer este tipo de cosas. Algo por lo menos como MySQL Workbench, que te marcará en qué punto hay errores antes de intentar compilarlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 27/12/2012 a las 04:12