2017-08-30 62 views
1

結果總是0000-00-00 00:00:00每次我發佈一個飼料我的sql腳本有什麼問題?無法保存當前時間的時間戳

$sql = "INSERT INTO feed (feed, created, user_id_fk) VALUES (:feed,:created,:user_id)"; 
     $stmt = $db->prepare($sql); 
     $stmt->bindParam("feed", $feed, PDO::PARAM_STR); 
     $stmt->bindParam("user_id", $user_id, PDO::PARAM_INT); 
     $created = time(); 
     $stmt->bindParam("created", $created, PDO::PARAM_INT); 
     $stmt->execute(); 
+0

做你試過'echo'ing的'created'變量。我應該使用'date()'而不是'time()',因爲根據PHP手冊'time()'從Unix Epoch(1970年1月1日00:00:00 GMT)_返回_seconds。 – Sand

+0

我相信''stmt-> bindParam()''中的參數也需要':',所以'$ stmt-> bindParam(「:feed」,$ feed,PDO :: PARAM_STR);'等等 – Rasclatt

+0

@Rasclatt,但feed和user_id已經在工作。只有創建的節目0000 ... –

回答

1

我認爲這是更好地使用date()而不是time()。我想向你提出這樣的建議。

//Get time 
date_default_timezone_set("America/Adak"); //Set the correct time zone here. 
$created = date("Y-m-d H:i:s"); //Output looks like 2001-03-10 17:16:18 

$sql = "INSERT INTO feed (feed, created, user_id_fk) VALUES (:feed,:created,:user_id)"; 
     $stmt = $db->prepare($sql); 
     $stmt->bindParam(":feed", $feed, PDO::PARAM_STR); 
     $stmt->bindParam(":user_id", $user_id, PDO::PARAM_INT);   
     $stmt->bindParam(":created", $created, PDO::PARAM_STR); 
     $stmt->execute(); 

如果您需要了解支持的時區,然後這裏是link

+0

在表中還是變量? – Sand

+0

nah這是我的壞:D謝謝 –

+0

啊好的,很高興幫助 – Sand