簡體   English   中英

SQL NOW()給出了00:00:00

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM