registro in un input con time() il timestamp di un certo istante e poi lo inserisco nel db in un campo timestamp. E come per incanto il valore non mi si inserisce! che devo fare? è lo stesso se uso un campo int?
registro in un input con time() il timestamp di un certo istante e poi lo inserisco nel db in un campo timestamp. E come per incanto il valore non mi si inserisce! che devo fare? è lo stesso se uso un campo int?
per unix timestamp "deve" essere un campo di tipo INTOriginariamente inviato da nourdine
registro in un input con time() il timestamp di un certo istante e poi lo inserisco nel db in un campo timestamp. E come per incanto il valore non mi si inserisce! che devo fare? è lo stesso se uso un campo int?
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
In mysql il campo timestamp è un campo che si aggiorna automaticamente ad ogni modifica del record che lo contiene. Se vuoi salvare un timestamp di php devi usare un campo int!![]()
e cosa succede se creo un timestamp in maniera un po' barbara, tipo con una funzione come questa?
Con questa me lo inserisce nel db (per esempio in un campo timestamp(8) )?Codice PHP:
function crea_mysql_ts($giorno, $mese, $anno)
{
if(empty($giorno) || empty($mese) || empty($anno))
exit("Mancano dei dati per l'elaborazione");
// Qui si potrebbe implementare per eventuali controlli sull'accettabilità dei valori passati ($giorno > 31) o 29 febbraio 2003
if($giorno < 10) $giorno = "0" . $giorno;
if($mese < 10) $mese = "0" . $mese;
return $timestamp = $anno . $mese . $giorno;
}
Questa e' la mia firma! Lo so, e' una mezza schifezza.![]()
Un sito
- skype non è per consulenze online -
dipende dalla versione di mysql. A partire dalla 4.1.3 (mi pare) il campo formato timestamp e' cambiato ed esiste in un unico formato uguale al formato DATETIME. Quindi niente piu' timestamp(8).
In compenso puoi scegliere se aggiornare oppure no il campo in modo automatico ad ogni update.
Se vuoi che il tuo script possa essere compatibile con il timestamp di nuova generazione ti conviene adeguarlo sin d'ora. Il campo e'formato da yyyy-mm-dd hh:mm:ss se il tempo (hh:mm:ss) e' omesso viene messo il default 00:00:00.
Puoi passare tu la data, calcolarla, prenderla da una funzione... insomma come ti pare meglio, purche' rispetti il formato. Ci sono poi parecchie contrazioni di date e di time che verranno interpretate da mysql in modi svariati e a volte inaspettati. Dai un'occhiata alle due pillole date-time ....
http://forum.html.it/forum/showthrea...hreadid=459634
http://forum.html.it/forum/showthrea...hreadid=839754
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.