![](/img/trans.png)
[英]If the datetime is 0000-00-00 00:00:00 then change to NOW();?
[英]SQL NOW() gives 0000-00-00 00:00:00
我使用codeigniter使用NOW()完成了SQL插入。 而不是當前時間我在我的數據庫重新編碼中得到0000-00-00 00:00:00。 我使用最新的WAMP作為我的服務器,無法理解問題出在哪里。 請幫我。
function createform($form_data)
{
$this->db->set('created', 'NOW()',TRUE);
$this->db->insert('amfbases', $form_data);
if ($this->db->affected_rows() == '1')
{
return TRUE;
}
return FALSE;
}
檢查您的列數據類型,並引用NOW(),如insert into table values ("NOW()");
?
更新
$this->db->set('created', time(),TRUE);
要么
$this->db->set('created', date('Y-m-d H:i:s'),TRUE);
或者將表模式更新為add_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
更新2
NOW()
指定給MYSQL,PHP將其解釋為字符串,並且不能將它們混合在一起
實際上,正確的方法(即將sql函數傳遞給db)是指定第三個參數為FALSE
示例:
$this->db->set('created', 'NOW()', FALSE); // notice FALSE
這將導致codeigniter傳遞第二個參數而不引用它導致sql將其解釋為函數。
對...有用:
$this->db->set('counter', 'counter + 1', FALSE);
有關參考,請參閱: http : //codeigniter.com/user_guide/database/active_record.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.