Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/12/2012, 02:19
suudobal
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Variables externas en sentencia preparada

Creo que no me he explicado bien jeje... a ver, he cambiado las lineas tal como me has indicado, es decir, efectivamente se ve claramente que mi linea:

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

se ve que está mal porque la palabra busca aparece rojo como parte de la sentencia y no como variable. Pues he puesto CUALQUIERA de los dos ejemplos que me has escrito y al compilar ME VUELVE a dejar la linea así de mal... es decir, compila pero me quita los símbolos tanto \ como el apóstrofe ' como si sobraran. Uso el editor de mySQL donde se ve bien claro los colores y eso.

El caso es que con las lineas corregidas tal como me has puesto no funciona, me da error de síntasis. Al compilar lo hace perfectamente pero cuando voy a editar vuelve a dejarlo mal. Es curioso.

EDITO:

Acabo de ver que en el mensaje #2 me habías puesto

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Código MySQL:
Ver original
  1. SET @s = CONCAT (@s,' AND productos.nombre = '%', busca,'%'');
Los apóstrofes deben ir escapados, es decir:
Código MySQL:
Ver original
  1. SET @s = CONCAT (@s,' AND productos.nombre = \'%', busca,'\'%');
O bien van dobles, para que MySQL los pueda tomar bien.
Código MySQL:
Ver original
  1. SET @s = CONCAT (@s,' AND productos.nombre = ''%', busca,'%''');

y ahora me has puesto

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

y

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

Voy a probar con eso a ver si ahora hay suerte y te cuento jejeje...

Última edición por gnzsoloyo; 27/12/2012 a las 04:14 Razón: Acabo de darme cuenta una cosa