2016-07-29 3 views
0

это запрос моей моделииспользовать текущую дату на дату добавления функции CodeIgniter

public function input_leave($effectivity){ 

    $input = array('ID_NUM' => $this->input->post('ID_NUM'), 
        'SOLO_P' => $this->input->post('SOLO_P'), 
        'DATE_ENTITLED' => date("Y-m-d"), 
        'EFFECTIVITY' => DATE_ADD(now("Y-m-d") ,INTERVAL .$effectivity. MONTH) 
        ); 
    $insert = $this->db->insert('tbl_leave',$input); 
    return $insert; 
} 

я хочу сделать, это DATE_ADD(**the current date** ,INTERVAL .$effectivity. MONTH)

, но когда я использую сейчас() не работает, я до сих пор Dont_ADD полностью не понимает, поэтому кто-то может объяснить, что такое ошибка и какое решение. Благодарю.

+0

'сейчас()' не принимает строку формата DATETIME –

ответ

5

Вы вводите в заблуждение функцию MySQL NOW() с функцией PHP date(). MySQL, NOW() не принимает никаких параметров:

$input = array('ID_NUM' => $this->input->post('ID_NUM'), 
        'SOLO_P' => $this->input->post('SOLO_P'), 
        'DATE_ENTITLED' => date("Y-m-d"), 
        'EFFECTIVITY' => DATE_ADD(NOW() ,INTERVAL .$effectivity. MONTH) 
        ); 
    $insert = $this->db->insert('tbl_leave',$input); 
    return $insert; 
+0

так, что я должен делать? –

+0

Я также пробовал CURDATE() –

+0

Вы можете захотеть повторить этот запрос и убедиться, что это то, что вы ожидаете. Затем запустите его из командной строки или инструмента, такого как phpmyadmin, чтобы узнать, как он работает. –

0

вы также можете сделать это с помощью PHP, как это

$input = array('ID_NUM' => $this->input->post('ID_NUM'), 
       'SOLO_P' => $this->input->post('SOLO_P'), 
       'DATE_ENTITLED' => date("Y-m-d"), 
       'EFFECTIVITY' => date('Y-m-d', strtotime("+".$effectivity." months")) 
       ); 
$insert = $this->db->insert('tbl_leave',$input); 
return $insert; 
Смежные вопросы