Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/09/2012, 13:52
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: You have an error in your SQL syntax; check the manual that corresponds to

Código MySQL:
Ver original
  1. FROM publicaciones
  2.     (fecha BETWEEN '".mysql_real_escape_string($hoy)."' AND CURRENT_TIMESTAMP)
  3.     &&
  4.     (usuario in (".implode(',',$UL).")
  5.     ||
  6.     usuario='".mysql_real_escape_string($idsesion)."')
  7. ORDER BY acciones DESC

Consejos básicos:
1) No uses && o || Por más que el MySQL te los reconozca, no son buena práctica porque pueden tender a confundirse en el momento de analizar la sintaxis de la consulta, especialmente cuando andas mezclando PHP con SQL (que no son la misma cosa). Usa AND y OR según corresponda, al menos en el SQL.
2) mysql_real_escape_string() puede ser una buena idea para manipular los datos en PHP, pero dar resultados desastrosos al momento de crear la consulta. En este caso lo único que necesitas es convertir el contenido de $hoy en una cadena con el formato '0000-00-00', que es lo que MySQL reconocerá como fecha.
3) CURRENT_TIMESTAMP es parte de MySQL, pero es mejor usar CURDATE() para ese uso. Además, las funciones de ese tipo tienen que llevar sus paréntesis o no se las reconoce como tales (y los paréntesis no deben tener espacios entre el nombre de la función y el paréntesis).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)