Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/10/2013, 11:02
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: Pasar variables a clausula where

Cita:
categoriapro0, categoriapro1 y categoriapro2 son VARCHAR
Si son VARCHAR, deben ser evaluados como cadenas de texto, y tal como lo scribes, estás haciéndolo como números.
Recuerda un detalle muy importante: MySQL no es parte de PHP, por lo que no ve, ni entiende de variables. De hecho PHP no interactúa realmente con MySQL, sino que lo hace la librería que usas, que accede a un servicio. Ese servicio es leído por MySQL y a ese servicio es a donde MySQL envía la respuesta.
Eso significa que lo que en realidad recibe MySQL es una cadena de texto que contiene una consulta, la cual debe forzosamente estar correctamente construida, y no lo está.
Como no hay errores sintácticos, enviaré el tema a PHP.

Anticipandome a eso, lo mejor, para evitarte problemas con los apóstrofes, es que lo armes mas o menos así:
Código PHP:
$offset $resul_x_libro $resul_x_pagina ;
$consulta "SELECT * FROM registroprofesionales 
WHERE categoriapro0 = '$coche' OR categoriapro1 = '$coche' OR categoriapro2 = '$coche' 
ORDER BY nombreempresa ASC 
LIMIT $offset, $resul_x_pagina"

Aunque yo lo prefiero armar así, para hacer las cosas más comrpensibles:
Código PHP:
$offset $resul_x_libro $resul_x_pagina ;
$consulta "SELECT * ";
$consulta .= " FROM registroprofesionales ";
$consulta .= " WHERE categoriapro0 = '$coche' OR categoriapro1 = '$coche' OR categoriapro2 = '$coche' ";
$consulta .= " ORDER BY nombreempresa ASC ";
$consulta .= " LIMIT $offset, $resul_x_pagina";
// Para asegurarnos de lo obtenido, y verificar que lo que queda armado tiene los datos necesarios:
echo $consulta
__________________
¿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; 11/10/2013 a las 14:18