cancellare dati dal database se passata un ora dall'inserimento

giorda86

Utente Attivo
12 Feb 2010
41
0
0
www.misteridelmondo.com
sto facendo uno script che cancella automaticamente dei dati dal database se passata un ora dal loro inserimento, inserisco la data di inserimento con now(), in un campo che si chiama data_ora, dichiarato come DATETIME e che mi restituisce il valore (corretto) 2010-10-19 18:59:40 per esempio... ora devo fare in modo che la query inserita in un'altra pagina mi cancelli tutto dalla tabella nelle riga che contiene il valore data_ora + 1 ora... ho provato questa query:

" DELETE FROM session_table WHERE data_ora + INTERVAL 1 HOUR >= now() "

ma mi restituisce questo errore:

Warning: mysql_query(): 5 is not a valid MySQL-Link resource

ho provato anche queste query:

" DELETE FROM session_table WHERE (data_ora + INTERVAL 1 HOUR) >= now() "

" DELETE FROM session_table WHERE (data_ora, INTERVAL 1 HOUR) >= now() "

ma mi da sempre lo stesso errore...ora non so dove ho sbagliato dato che è la prima volta che mi trovo a fare cose simili... mi potete aiutare?
 
ciao
perchè non usi la data in formato timestamp, è molto più facile trattarla
io metterei il campo data_ora ad intero(16), poi se vuoi vederela in formato umano la trasformi quando ti serve.
prima della query
PHP:
<?php
//......
//leggo il tempo attuale e tolgo un'ora
$adesso=time()-3600;// 1 ora = 60 minuti per 60 secondi
//se, come ho detto, metti la data di inserimento in timestamp
//la query diventa
$query="DELETE FROM session_table WHERE data_ora < $adesso";
//ecc...
?>
se ti serve la data in formato umano quando la estrai basta che tu la visualizzi con
PHP:
<?php
echo date("Y-m-d H:i:s",$riga['data_ora']);
?>
 

Discussioni simili