Foros del Web » Programando para Internet » PHP »

Problemas al eliminar registros caducados de la BD con PHP

Estas en el tema de Problemas al eliminar registros caducados de la BD con PHP en el foro de PHP en Foros del Web. Buenos días compañeros! Tengo un problema y vengo a consultaros. Tengo una tabla llamada "eventos" y en dicha tabla hay un campo con la fecha ...
  #1 (permalink)  
Antiguo 20/02/2012, 04:07
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Problemas al eliminar registros caducados de la BD con PHP

Buenos días compañeros!

Tengo un problema y vengo a consultaros.

Tengo una tabla llamada "eventos" y en dicha tabla hay un campo con la fecha del evento (fechahora). Mi intención es eliminar todos aquellos registros que superen esa fecha del evento más una hora (para no eliminar el evento nada más empiece), es decir, eliminar todos los registros que superen "el día y hora del evento + 1h".

Para ello había creado esta consulta:
Código PHP:
$query "DELETE FROM eventos WHERE fechahora < DATE_SUB(CURRENT_DATE(), INTERVAL 1 HOUR)";
    
mysql_query($query) or die(mysql_error()); 
El PROBLEMA que tengo es que me elimina todos los registros, haya pasado 1 hora o aun ni hayan llegado a la fecha del evento.

Entonces quería saber en que me estoy equivocando.

Espero vuestras respuestas! Gracias de antemano !

Un saludo!

Última edición por sidneyendis; 20/02/2012 a las 04:27
  #2 (permalink)  
Antiguo 20/02/2012, 07:14
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problemas al eliminar registros caducados de la BD con PHP

eliminar todos aquellos registros que superen esa fecha del evento más una hora entonces no sería DATE_ADD?
Estás seguro que los registros no cumplen la condición?
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 20/02/2012, 17:20
sidneyendis
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemas al eliminar registros caducados de la BD con PHP


repara2 gracias por la respuesta!!

Aunque he aplicado lo que me has dicho, mi error a sido de lo más tonto y absurdo. En la tabla, tenia el tipo de campo "fechahora" con TEXT. Nada, a sido cambiarlo a "datetime" y enseguida funcionar...

No obstante dejo el código por si a alguien le hace papel y por favor, no cometais el mismo error de concentración mio!

Código PHP:
$query "DELETE FROM tabla WHERE campodelatabla < DATE_ADD(CURRENT_DATE(), INTERVAL 1 HOUR)";
mysql_query($query) or die(mysql_error()); 
Un saludo muy grande, y gracias nuevamente!!

Etiquetas: fecha, registros
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 06:44.