我需要在表格中添加开始日期和结束日期。因此,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();
}
答案 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"));