mysql表中的当前时间戳字段不会自动更新

时间:2013-05-15 15:08:13

标签: mysql codeigniter timestamp sql-update

我真的为提出这么简单的问题道歉,但我陷入了困境。实际上我的表有三个颜色,例如id,status和date。日期字段是当前时间戳(我还在phpmyadmin中选择更新当前时间戳)。

我想要的是每个更新都应该更新日期字段,但事实并非如此。这是我的代码;

if($_POST['status']=="Expired")
    {
        $_POST['remaining']=0;
    }
    if($this->db->update('user_package',$_POST,array('upid'=>$_POST['upid'])))
    {
        redirect('package/view_admin_package_pending');
    }
    else
    {
        echo "Hey I could not update the User's requested Package. I am in Package Controller on line number 406";
    }

更新日期字段更新为00000000而不是正确的时间和日期。所以,任何人都可以帮我找出解决方案。

注意:我也尝试过吼叫,但没有奏效;

$_POST['date']=now();

也尝试了

$_POST['date']=time();

5 个答案:

答案 0 :(得分:2)

您可以直接在SQL中执行此操作

update your_table
set some_column = 1,
    `date` = current_timestamp
where ...

答案 1 :(得分:1)

这段代码的功能已经足够了。

$data = array(
               'content_header' => $_POST['content_header'],
                'content_body' => $_POST['content_body'],
                'content_footer' => $_POST['content_footer'],
                'post_catagory' => $_POST['post_catagory']
                'update_time' => date('Y-m-d H:i:s')
        );

答案 2 :(得分:0)

实际上我的项目存在问题。从理论上和逻辑上讲,当前时间戳(特别是在选择的更新时间戳上)会自动将日期字段更新为当前时间戳。所以,我的代码是正确的,但我的项目很混乱。无论如何,我感谢每一个人的答案。谢谢

答案 3 :(得分:0)

尽量不要使用$ _POST。 Codeigniter提供了获取$ _POST变量的有用方法:

$my_update = array();
$my_update['status'] = $this->input->post('status');//in controller

... 以相同的方式从表单中添加所有变量 ... 决定更新表后,设置所需的所有变量

$data = array(
  'status' => $my_update['status'],
  //...
);

要设置where条件,请更好地使用codeigniter工具:     $ this-> db-> where('upid',$ my_update ['upid']); 之后,添加日期字段更新:     $ this-> db-> set('created','now()'); 然后你可以更新你的表格:

$this->db->update('user_package', $my_update);

答案 4 :(得分:0)

$_POST['date'] = date('Y-m-d H:i:s', strtotime('23.12.2013 15:23:23'));