2012-04-22 71 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."')"; 

這應該幫助。