2016-07-29 2 views
0

dies die Abfrage meines Modells istaktuelle Tagesdatum Datum verwenden Funktion 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; 
} 

i tun möchte, ist DATE_ADD(**the current date** ,INTERVAL .$effectivity. MONTH)

aber wenn ich jetzt() verwenden, es funktioniert nicht, ich habe noch verstehe DATE_ADD Funktion nicht vollständig, also kann jemand bitte erklären, was der Fehler ist und was die Lösung ist. Vielen Dank.

+0

'now()' ist –

Antwort

5

Sie verwechseln die NOW()-Funktion von MySQL mit der date()-Funktion von PHP. MySQL NOW() nimmt keine Parameter:

$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

ein Datumsformat String nehmen nicht so, was soll ich tun? –

+0

Ich habe auch versucht, CURDATE() –

+0

Sie möchten diese Abfrage abfragen und überprüfen, was Sie erwarten. Führen Sie es dann über die Befehlszeile oder ein Tool wie phpmyadmin aus, um zu sehen, wie es läuft. –

0

Sie können dies auch mit PHP wie folgt

$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; 
Verwandte Themen