我正在尝试使用PHP(CI)将一些日期(给定日期,+1天和+1个月)插入MySQL。
这是我的CI有效记录代码:
变量$last_period_end
返回2012-02-20
,它尝试将其插入的字段是MySQL DATE
格式。
$data = array(
'user_id' => $user_id,
'period_start' => "DATE_ADD($last_period_end, INTERVAL 1 DAY)",
'period_end' => "DATE_ADD($last_period_end, INTERVAL 1 MONTH)",
'cost' => $cost
);
$result = $this->db->insert('invoices', $data);
if ( $result )
return true;
else
return false;
这会插入0000-00-00
而不是我想要的内容。
我也尝试过纯SQL:
INSERT INTO betterbill.invoices (user_id, period_start, period_end, cost)
VALUES(18, DATE_ADD(2012-02-20, INTERVAL 1 DAY), DATE_ADD(2012-02-20, INTERVAL 1 MONTH), 100.05);
有趣的是,这会插入 nothing ,而不是0000-00-00
感谢任何输入!
答案 0 :(得分:2)
您错过了日期字符串的引用'
。
$data = array(
'user_id' => $user_id,
'period_start' => "DATE_ADD('$last_period_end', INTERVAL 1 DAY)",
'period_end' => "DATE_ADD('$last_period_end', INTERVAL 1 MONTH)",
'cost' => $cost
);