使用当前日期添加功能codeigniter

时间:2016-07-29 14:16:38

标签: php mysql sql codeigniter

这是我的模型的查询

public function input_leave($effectivity){

    $input = array( 'ID_NUM' => $this->input->post('ID_NUM'),
                    'SOLO_P' => $this->input->post('SOLO_P'),
                    'DATE_ENTITLED' => date("Y-m-d"),
                    'EFFECTIVITY'   => DATE_ADD(now("Y-m-d") ,INTERVAL .$effectivity. MONTH)
                    );
    $insert = $this->db->insert('tbl_leave',$input);
    return $insert;
}

我想做的是DATE_ADD(**the current date** ,INTERVAL .$effectivity. MONTH)

但是当我使用now()它不起作用时,我仍然不完全理解DATE_ADD函数,所以有人可以解释错误是什么以及解决方案是什么。感谢。

2 个答案:

答案 0 :(得分:5)

你将MySQL的NOW()函数与PHP的date()函数混淆了。 MySQL的NOW()不带任何参数:

$input = array( 'ID_NUM' => $this->input->post('ID_NUM'),
                    'SOLO_P' => $this->input->post('SOLO_P'),
                    'DATE_ENTITLED' => date("Y-m-d"),
                    'EFFECTIVITY'   => DATE_ADD(NOW() ,INTERVAL .$effectivity. MONTH)
                    );
    $insert = $this->db->insert('tbl_leave',$input);
    return $insert;

答案 1 :(得分:0)

你也可以用这样的

这样做
$input = array( 'ID_NUM' => $this->input->post('ID_NUM'),
                'SOLO_P' => $this->input->post('SOLO_P'),
                'DATE_ENTITLED' => date("Y-m-d"),
                'EFFECTIVITY'   => date('Y-m-d', strtotime("+".$effectivity." months"))
                );
$insert = $this->db->insert('tbl_leave',$input);
return $insert;