0
我有一個表和theDate字段結構爲INT(32)。使用PHP插入到mySQL整數字段(INT)的unix時間戳的最佳方法?
編寫PHP腳本我想使用mySQL PDO將unix時間戳作爲整數插入到日期INT表字段中。做這個的最好方式是什麼?我的theDate字段最有效的尺寸是多少? 8,16,32?
代碼:
$theDate = now(); // this returns a 0 in theDate mySQL field
$stmt = $db->prepare("INSERT INTO countries(name, capital, language, theDate) VALUES (:country, :capital, :language, :theDate)");
$stmt->bindParam(':country', $country, PDO::PARAM_STR, 100);
$stmt->bindParam(':capital', $capital, PDO::PARAM_STR, 100);
$stmt->bindParam(':language', $language, PDO::PARAM_STR, 100);
$stmt->bindParam(':theDate', $theDate);
if($stmt->execute()) {
echo '1 row has been inserted';
}
我用Google搜索這一點,並搜索這個網站..不能找到一個很好的答案
感謝
不要 - 使用適當的'datetime'場代替;當你想按日期檢索任何東西時,它會讓生活變得更容易......但是,在這種情況下,它看起來像你可能想要一個'timestamp'字段......我看不到任何邏輯理由來將日期存儲在*國家*表,除了記錄上次更新記錄的時間。 – CD001
我在@ CD001在這裏。最有效的大小是DATETIME字段,使用本機格式可以訪問大量[附加功能](http://dev.mysql.com/doc/refman/5.7/en/date-and-time -functions.html)以及使它們具有人類可讀性。請確保**將這些時間插入爲UTC **以避免時區問題。在顯示這些值時,您可以在PHP中執行任何時區轉換(如果相關)。 – tadman