2013-02-13 7 views
4

J'ai le tableau suivant MySQLchaîne datetime insérer dans la base de données MySQL avec CodeIgniter

EventId  ObjectKey Title   Description  When  Duration  Where   Status 
INT   CHAR(36) VARCHAR(500) VARCHAR(8000) DATETIME VARCHAR(500) VARCHAR(500) TINYINT 

et mon tableau PHP est

$data = array(
    'Title' => $title, 
    'Description' => $description, 
    'When' => $when, 
    'Duration' => $duration, 
    'Where' => $where 
); 

La $when variable contient 02/21/2013. Lorsque je tente d'insérer à la table avec CodeIgniter

public function insert_event($guid, $data) 
{ 
    $CI = & get_instance(); 
    $CI->load->database('default'); 
    $CI->db->set($data); 
    $CI->db->set('ObjectKey', $guid); 
    $CI->db->set('Status', 1); 
    $vari = $CI->db->insert('Events'); 
    return $vari; 
} 

Tout inséré correctement, sauf date. Pouvez-vous m'aider à ce sujet?

Répondre

13

Utilisez le format MYSQL correct pour la date YYYY-MM-DD. Par exemple changer dans votre code:

$data = array(
    'Title' => $title, 
    'Description' => $description, 
    'When' => date('Y-m-d', strtotime($when)), 
    'Duration' => $duration, 
    'Where' => $where 
); 
4

Dates à mySQL sont YYYY-MM-DD

Vous insérez une date MM/DD/YYYY

Donc, essayez ceci:

$data = array(
    'Title' => $title, 
    'Description' => $description, 
    'When' => date('Y-m-d', strtotime($when)), 
    'Duration' => $duration, 
    'Where' => $where 
); 
Questions connexes