如何在codeigniter中插入当前日期的日间隔?

时间:2014-12-11 11:15:18

标签: php mysql codeigniter date

我需要在表格中添加开始日期和结束日期。因此,startdate应为当前日期,结束日期为当前日期后30天。我试图按照以下方式进行,但它不会在表中插入记录。

 public function insert_details()
      $data = array(
        'tran_id' => $transaction_id,               
         'start_date' => CURDATE(),
         'end_date' => DATE_ADD(CURDATE() + INTERVAL 30 DAY)             
       );    
  $this->db->insert('user_payments', $data);
   return $this->db->insert_id();
 }

3 个答案:

答案 0 :(得分:0)

因为,

DATE_ADD(CURDATE() + INTERVAL 30 DAY) are MySQL functions,

您将它们视为PHP函数。

将它们作为字符串传递给MySQL。

更改为:

'end_date' => "DATE_ADD(CURDATE() + INTERVAL 30 DAY)"

答案 1 :(得分:0)

你可以使用$this->db->set()方法,如果你想在查询中使用MySql函数

public function insert_details()
  $this->db->set('tran_id', $transaction_id);
  $this->db->set('start_date', 'CURDATE()', false);
  $this->db->set('end_date', 'DATE_ADD(CURDATE() + INTERVAL 30 DAY)', false);

  $this->db->insert('user_payments');
   return $this->db->insert_id();
 }

答案 2 :(得分:0)

试试这个

date('Y-m-d', strtotime(date('Y-m-d'). " + 30 days"));