Foros del Web » Programando para Internet » PHP »

Problema con PHP y SQL

Estas en el tema de Problema con PHP y SQL en el foro de PHP en Foros del Web. Lo pongo en PHP, porque el problema creo que esta ahi. El detalle radica en lo siguiente: Tengo esta pagina en la que puedo seleccionar ...
  #1 (permalink)  
Antiguo 19/12/2014, 19:16
 
Fecha de Ingreso: mayo-2014
Ubicación: Bogota D.C
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Problema con PHP y SQL

Lo pongo en PHP, porque el problema creo que esta ahi.

El detalle radica en lo siguiente:



Tengo esta pagina en la que puedo seleccionar los rangos de fechas, para evaluar informacion contenida entre dichas fechas.

Los datos se envian por POST.

Código PHP:
$fechaInicial $_POST['fechaInicio'];
$fechaFinal $_POST['fechaFinal'];

mysql_select_db($database_montecz$montecz);
$query_datos "SELECT * FROM encuesta INNER JOIN proveedores ON encuesta.id_proveedor = proveedores.id_proveedores  WHERE encuesta.fecha BETWEEN $fechaInicial AND $fechaFinal";
$query_limit_datos sprintf("%s LIMIT %d, %d"$query_datos$startRow_datos$maxRows_datos);
$datos mysql_query($query_limit_datos$montecz) or die(mysql_error());
$row_datos mysql_fetch_assoc($datos); 
Al hacer un echo de la variables que reciben por post las fechas, efectivamente me muestra las fechas insertadas.

Osea que el problema no esta ahi.

Al ejecutar la sentencia en phpMyAdmin, cambiando las variables por fechas, funciona correctamente.

El formato de la fecha es adecuado para que la evaluacion genere resultados.

Realmente no entiendo que puede estar pasando.

Alguine tiene alguna idea.

Captura del archivo que "muestra" el resultado de la busqueda por fechas.
(reitero que al hacerla en phpMyAdmin funciona perfecto)



Por las dudas los resultados de la ejecucion de la sentencia con fechas



Gracias nuevamente.
  #2 (permalink)  
Antiguo 19/12/2014, 19:57
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Problema con PHP y SQL

Bueno, vamos a hacer una prueba simple, algo como esto:
Código PHP:
$query_datos "SELECT * FROM encuesta INNER JOIN proveedores ON encuesta.id_proveedor = proveedores.id_proveedores  
WHERE encuesta.fecha BETWEEN $fechaInicial AND $fechaFinal"
;
$query_limit_datos sprintf("%s LIMIT %d, %d"$query_datos$startRow_datos$maxRows_datos);
echo 
$query_limit_datos
Si ejecuto eso en PHP, obtendré esto:
Código MySQL:
Ver original
  1. SELECT * FROM encuesta INNER JOIN proveedores ON encuesta.id_proveedor = proveedores.id_proveedores  
  2. WHERE encuesta.fecha BETWEEN 2014-12-18 AND 2014-12-19 LIMIT 0, 10
y eso, lamento decirte, está mal escrito...

Debería ser así:
Código MySQL:
Ver original
  1. SELECT * FROM encuesta INNER JOIN proveedores ON encuesta.id_proveedor = proveedores.id_proveedores  
  2. WHERE encuesta.fecha BETWEEN '2014-12-18' AND '2014-12-19' LIMIT 0, 10
para lo cual con esto alcanza:
Código PHP:

$fechaInicial 
"2014-12-18";
$fechaFinal "2014-12-19";
$startRow_datos 0;
$maxRows_datos 10;
$query_datos "SELECT * FROM encuesta INNER JOIN proveedores ON encuesta.id_proveedor = proveedores.id_proveedores  
WHERE encuesta.fecha BETWEEN '$fechaInicial' AND '$fechaFinal'"
;
$query_limit_datos sprintf("%s LIMIT %d, %d"$query_datos$startRow_datos$maxRows_datos);
echo 
$query_limit_datos
Como mínimo podrías aclararnos dos cosas: 1) Cuál es el error (porque no lo expresas claramente en ninguna parte), y 2) Dices que la query está bien, cosa en la que no concuerdo, pero no nos la muestras, por lo que solo podemos suponer que lo verificaste, y no parece ser el caso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 19/12/2014, 20:27
 
Fecha de Ingreso: mayo-2014
Ubicación: Bogota D.C
Mensajes: 4
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Problema con PHP y SQL

Tienes toda la razón bastaba con unas ''.

Muchas gracias!!!

Pero si puse el codigo!
  #4 (permalink)  
Antiguo 19/12/2014, 22:29
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Problema con PHP y SQL

No exactamente. Has mostrado el código que probaste manualmente, pero no el generado por PHP. Ése era el que debías mostrar, ya que allí se ve el problema.
Acuerdate siempre que un código SQL generado dinámicamente es proclive a errores invisibles producto del uso de variables.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: datepicker, fecha, join
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:18.