这是我的CodeIgniter模型中的Database_update_entry函数,该函数在成功提交表单后执行。
<?php
function update_entry(){
$data = array(
'sl' => $this->input->post('item_sl'),
'item_name' => $this->input->post('item_name'),
'img_url' => $this->input->post('img_url'),
'sound_url' => $this->input->post('sound_url'),
'price' => $this->input->post('price'),
'unit' => $this->input->post('unit'),
'timestamp' => time(),
);
echo "current time: ". time();
$this->db->update(MY_TABLE_NAME, $data);
}
?>
数据库查询执行正常....但是设置到mysql表中的时间是
0000-00-00 00:00:00 ,而<?php echo time() ?>
语句在浏览器中显示 1307018223 ....这是一个有效的UNIX时间戳...你可以check the timestamp validity here。
这是在成功update_query http://s3.amazonaws.com/awesome_screenshot/658523?AWSAccessKeyId=0R7FMW7AXRVCYMAPTPR2&Expires=1307020816&Signature=AncPjnzG9p9QTX7zebZp7c9teB0%3D
之后从mySQL表中获取数据的表的屏幕截图我做错了什么???我怎样才能将法律时间戳从我的php传递给mySQL? [附注:我已经检查过我的mysql表中的timestamp字段是时间戳字段]
答案 0 :(得分:5)
mysql timestamp
字段接受yyyy-mm-dd H:i:s
日期格式,因此您必须将日期传递给此格式而不是UNIX时间戳
而不是
'timestamp' => time()
使用
'timestamp' => date('Y-m-d H:i:s')
如果您确实要存储UNIX time stamp
,请将字段类型更改为CHAR
答案 1 :(得分:3)
使用date('Y-m-d H:i:s', time());
)
答案 2 :(得分:3)
您需要提供时间戳字符串,而不是整数。尝试:
'timestamp' => date('Y-m-d H:i:s', time()),
答案 3 :(得分:2)
格式时间:date('Y-m-d H:i:s', time())