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

Código MySQL:
Ver original
  1.  
  2. SET @s = 'SELECT
  3.  secciones.seccion,
  4.  secciones.descripcion,
  5.  secciones.icono,
  6.  productos.producto,
  7.  productos.precio,
  8.  productos.stock,
  9.  productos.oferta,
  10.  secciones.idseccion,
  11.  productos.idProducto,
  12.  productos.fecha_insert,
  13.  productos.imagen,
  14.  productos.nombre
  15. FROM
  16.  secciones
  17.  INNER JOIN productos ON (secciones.idseccion = productos.idSeccion)
  18. WHERE (productos.idProducto > 0)';
  19.  
  20. IF idS > 0 THEN
  21.  SET @s = CONCAT (@s,' AND secciones.idseccion =  ', idS);
  22.  
  23. SET @s = CONCAT (@s,' AND productos.nombre = '%', busca,''%');
  24.  
  25. SET @s = CONCAT (@s,' ',' ORDER BY ?');
  26.  
  27. IF orden = 'nom' OR orden = 'sto' OR orden = 'fec' THEN
  28.  SET @s = CONCAT (@s,' ','ASC');
  29.  SET @s = CONCAT (@s,' ','DESC');
  30.  
  31. SET @s = CONCAT (@s,' ','LIMIT ?, ?');
  32.  
  33. IF orden = 'nom' OR orden = 'noI' THEN
  34.  SET @a = 12;
  35.  
  36. IF orden = 'sto' OR orden = 'stI' THEN
  37.  SET @a = 6;
  38.  
  39. IF orden = 'fec' OR orden = 'feI' OR orden = '' THEN
  40.  SET @a = 9;
  41.  
  42. SET @b = paginas;
  43. SET @c = comienzo;
  44.  
  45. PREPARE seleccion FROM @s;
  46.  
  47. EXECUTE seleccion USING @a, @b, @c;
  48.  
  49. DEALLOCATE PREPARE seleccion;
  50.  

Todo funciona perfectamente excepto cuando meto la linea que quiero usar para la palabra a buscar... gracias.