2012-09-24 29 views
0

我在寫一個PHP/MySQL程序。每次添加新記錄到TABLE時,我都需要添加當前日期。我有一個名爲DATE_ADDED的字段。我很困惑如何使用MySQLCURDATE()函數將其寫入TABLE中。或者我應該從PHP使用日期函數獲取今天的日期,並將它作爲變量傳遞給TABLE?我不需要TIMESTAMP,只需要YYYY-MM-DD。 謝謝!在PHP中,我應該使用MySQL的日期函數還是curdate()?

+0

變化在數據庫中的列TIMESTAMP並使其自動插入 – Gordon

回答

2

你必須用PHP來嘗試像

$today = date("Y-m-d"); 

,然後同時將數據添加到你的db給這個值剩下的

+0

我同意Gautam,用PHP做更快更簡單。 – Saqueib

+1

如果PHP和MySQL在不同的時區? – Petah

1

您可以將其設置爲在表定義該列date_added像這樣的默認值:

date_added TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
+0

感謝您的答覆。我可以使用DATE而不是TIMESTAMP,因爲我只想要YYYY-MM-DD? – Edward

+0

@Edward你可以忽略時間部分,只得到類似'DATE(date_added)'的日期,但問題是如果你想將它設置爲默認值,你不能使用'CURDATE'這就是爲什麼我使用'CURRENT_TIMESTAMP',它是獲取當前日期的標準ANSI函數。 –

2
INSERT INTO table_name (field1, field2,...DATE_ADDED) 
        VALUES 
        (value1, value2,...CURDATE()); 
1
$regdate=date('Y-m-d'); 
$sql = "INSERT INTO table_name (fld_name1, fld_name2,fld_regdate) VALUES ('value1', 'value2', '$regdate')"; 
$rs = mysql_query($sql) or die('ERROR:' mysql_error()); 
-2
$sql = 'INSERT INTO joke SET  
     joketext = :joketext,  
     jokedate = CURDATE()'; 
    $s = $pdo->prepare($sql); 
    $s->bindValue(':joketext', $_POST['joketext']); 
    $s->execute(); 
相關問題