Edytowana odpowiedź
Jeśli chcesz użyć zwykłego TIMESTAMP
w MySQL, najpierw utwórz to pole.
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Po skonfigurowaniu pola możesz zostawić je w spokoju. Po wstawieniu rekordu pass null
jako wartość i domyślnie będzie to aktualny czas. Po zaktualizowaniu rekordu czas zostanie dostosowany.
Aby uzyskać czas z TIMESTAMP
pole musisz uruchomić zapytanie wybierające i uzyskać wyniki. Dla celów ilustracyjnych wyglądałoby to mniej więcej tak:
//Integrate this into your existing code
$result = mysqli_query($connection, "SELECT LastAccessed FROM YourTable"); //get only the time field for this example
$row = mysqli_fetch_array($result);
$time = new DateTime($row['LastAccessed']); //The constructor accepts the time information as an argument
echo $time->format("H:i:s"); //This is your time information.
Ponieważ masz TIMESTAMP
teraz baza danych nie tylko weźmie odpowiedzialność za aktualizację z poprawnym czasem, ale zawsze możesz zmodyfikować $time->format()
argument metody do wytworzenia łańcucha z danymi czasu na wiele różnych sposobów.
Sygnatura czasowa zostaje wyabstrahowana, a aplikacja zyskuje elastyczność.
Wygrana-wygrana, prawda?
Oryginalna odpowiedź
Utwórz char(8)
kolumny w MySQL, a następnie wyślij dane wyjściowe z wywołania do:
date("H:i:s");
Chociaż użycie pola sygnatury czasowej w MySQL byłoby optymalne, biorąc pod uwagę, że można je aktualizować, gdy wchodzimy w interakcję z rekordem. Nie masz nie aby użyć całego znacznika czasu.