使用php在mysql表中保存时间戳
我有一个MySQL表中有一个timestamp数据types的字段。 我正在将数据保存到该表中。 但是,当我将时间戳记( 1299762201428 )传递到logging时,它会自动将值0000-00-00 00:00:00保存到该表中。 
我如何将时间戳存储在MySQL表中?
 这是我的INSERT语句: 
 INSERT INTO table_name (id,d_id,l_id,connection,s_time,upload_items_count,download_items_count,t_time,status) VALUES (1,5,9,'2',1299762201428,5,10,20,'1'), (2,5,9,'2',1299762201428,5,10,20,'1') 
	
像这样传递
 date('Ymd H:i:s','1299762201428') 
 嘿,在这里使用FROM_UNIXTIME()函数。 
喜欢这个:
 INSERT INTO table_name (id,d_id,l_id,connection,s_time,upload_items_count,download_items_count,t_time,status) VALUES (1,5,9,'2',FROM_UNIXTIME(1299762201428),5,10,20,'1'), (2,5,9,'2',FROM_UNIXTIME(1299762201428),5,10,20,'1') 
 $created_date = date("Ymd H:i:s"); $sql = "INSERT INTO $tbl_name(created_date)VALUES('$created_date')"; $result = mysql_query($sql); 
有些事情要澄清:
- MySQL时间戳记字段types不存储unix时间戳,而是存储date时间types的值。
- UNIX时间戳是一个普通的inttypes的数字。
- 你所说的时间戳不是一个普通的unix时间戳,而是一个毫秒的时间戳。
因此正确的答案是
 $timestamp = '1299762201428'; $date = date('Ymd H:i:s', substr($timestamp, 0, -3)); 
数据types“ bigint unsigned ”可能符合这个要求。
我猜测,你正试图保存的价值是一个date时间字段不是,但时间戳似乎是一样的 。 如果是这样的话,MySQL的格式应该是Year-month-Day Hour:minute:second。 为了保存时间戳,你必须使用类似的查询将字段转换为数字
 alter table <table_name> change <field> <field> bigint unsigned 
如果您正在使用当前时间,则可以使用now()或current_timestamp。
这应该做到这一点:
  $time = new DateTime; 
 使用FROM_UNIXTIME() 。 
注意:1299762201428看起来更像是一个毫秒时间戳(就像JavaScript中的Date()* 1),你可能不得不除以1000。
 更好的是使用datatype varchar(15) 。 
 检查表中的字段types只是像bigint等数据types保存时间戳值。 
 不是datetimetypes 
 你也可以在你的查询中使用now() ,即: 
 insert into table (time) values(now()); 
它将使用当前的时间戳。
 如果时间戳是当前时间,则可以使用mysql NOW()函数 
 使用datetime字段types。 它具有许多优点,如人的可读性(没有人读取时间戳)和MySQL的function 。 
 要从unix时间戳转换,可以使用MySQL函数FROM_UNIXTIME(1299762201428) 。 要转回,您可以使用UNIX_TIMESTAMP : SELECT UNIX_TIMESTAMP(t_time) FROM table_name 。 
 当然,如果你不喜欢MySQL函数,你总是可以使用PHP: 'INSERT INTO table_name SET t_time = ' . date('Ymd H:i:s', $unix_timestamp)  'INSERT INTO table_name SET t_time = ' . date('Ymd H:i:s', $unix_timestamp) 。 
如果我知道数据库是MySQL,我将使用NOW()函数,如下所示:
 INSERT INTO table_name (id, name, created_at) VALUES (1, 'Gordon', NOW())