2012-04-22 35 views
0

我正在取CSV中的一个日期,并试图将它添加到我的数据库中以mysql日期格式。这里是我的代码(或一些):将问题添加到mysql表中的问题

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) 
{ 
    $originalDate = $data[1]; 
    echo "original date format:".$originalDate."<br/>"; 

    //$delivery_date = date('Y-m-d', strtotime($originalDate)); 

    $parts = explode('/', $originalDate); 
    $delivery_date = $parts[2] . '-' . $parts[1] . '-' . $parts[0]; // 09/12/2011 

    echo "new date format:".$delivery_date."<br/>"; 

    $row++; 
    $import="INSERT into dispatch (delivery_note_number, delivery_date) 
    values ('$data[0]','$delivery_date')"; 
    mysql_query($import) or die(mysql_error()); 

} 

'回声'只是为了帮助我调试。新的日期格式$ delivery_date以适合插入数据库的方式回声,例如2012-04-15

然而,当我检查数据库,所有我最终是0000-00-00

为什么MySQL将不采取日期的任何想法?

+0

note我试过strtotime转换格式,并爆炸,只是为了看看它是否有任何区别。它没有。 – trh88 2012-04-22 13:34:43

+0

检查$ import(回显它以查看错误)。您的$ delivery_date变量在查询中可能会被视为“$ delivery_date”。 – mert 2012-04-22 13:36:25

回答

1

将其更改为:

$import="INSERT into dispatch (delivery_note_number, delivery_date) 
    values ('".$data[0]."','".$delivery_date."')"; 

这应该帮助。