Foros del Web » Programando para Internet » PHP »

Problemas con between

Estas en el tema de Problemas con between en el foro de PHP en Foros del Web. Muy buenas!!! Tengo un problema. Estoy haciendo pruebas con un buscador, en local me funciona perfectamente, me busca entre los intervalos que le pongo, todo ...
  #1 (permalink)  
Antiguo 10/06/2005, 05:00
 
Fecha de Ingreso: septiembre-2004
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 0
Problemas con between

Muy buenas!!!

Tengo un problema. Estoy haciendo pruebas con un buscador, en local me funciona perfectamente, me busca entre los intervalos que le pongo, todo perfecto. El problema es que cuando lo subo al servidor me falla en el between y no sé por qué. Si quito el between me hace la consulta pero con el between no.

La consulta es esta:
$sql= "SELECT * FROM casa WHERE operacion LIKE "."'%".$operacion."%' AND provincia LIKE "."'%".$provincia."%' AND metros BETWEEN $metrosmin AND $metrosmax AND precio BETWEEN $precio_min AND $precio_max ORDER BY poblacion ASC";

He probado a cambiar la sintaxis, comillas y todo lo que se me ha ocurrido pero nada.

En local funciona pero en internet no. ¿Alguien tiene una respuesta?

Gracias de antemano.
  #2 (permalink)  
Antiguo 10/06/2005, 05:15
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Por favor menciona el error EXACTO que tienes... prueba con:
Código PHP:
$sql"SELECT * FROM casa WHERE operacion LIKE '%$operacion%' AND provincia LIKE '%$provincia%' AND metros BETWEEN '$metrosmin' AND '$metrosmax' AND precio BETWEEN '$precio_min' AND '$precio_max' ORDER BY poblacion ASC"
Varios errores.. espacabas la cadena sin necesitad... espero funcione esto.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 10/06/2005, 05:27
 
Fecha de Ingreso: septiembre-2004
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 0
Sigue fallando

La sintaxis que tú me mandas ya la había probado y tampoco funciona.

No es que me dé "parse error", es que no me encuentra resultados coincidentes en la base de datos (he revisado mil veces que en la base de datos de internet están los registros correctos).

Para ponerlo más fácil, he pulido la consulta para encontrar el error y en internet no me cuela ni esto:

$sql= "SELECT * FROM casa WHERE metros BETWEEN 1 AND 200000";

Gracias de todas formas.
  #4 (permalink)  
Antiguo 10/06/2005, 05:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
¿versión de MySQL?

Otra:... puedes reemplazarlo por campo>valor' AND campo<'valor'... seguramente es por tu versión de MySQL.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 10/06/2005 a las 05:44
  #5 (permalink)  
Antiguo 10/06/2005, 05:50
 
Fecha de Ingreso: septiembre-2004
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 0
En internet está la 3.23.58

En local tengo la 4.0.20
  #6 (permalink)  
Antiguo 10/06/2005, 06:19
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Gran diferencia... seguro es eso. Consultalo en www.mysql.org. Pero... como dije, puedes remplazarlo. Avizas si sigues teniendo problemas..

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 10/06/2005, 06:39
 
Fecha de Ingreso: septiembre-2004
Mensajes: 31
Antigüedad: 13 años, 3 meses
Puntos: 0
¡Solucionado!

Efectivamente la versión de MySQL del servidor no traga el BETWEEN

Lo he solucionado como me has dicho, con el > y el <

Para que nadie más se vuelva loco con este tema, mi página está en Arsys.

Muchas gracias jam1138, aquí estoy para lo que quieras.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:16.