Redigerat svar
Om du vill använda en vanlig TIMESTAMP
fältet i MySQL, skapa först fältet.
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
När du har ställt in fältet kan du lämna det ifred. När du infogar ett postpass null
som värdet och den kommer som standard till den aktuella tiden. När du uppdaterar posten kommer tiden att justeras.
För att hämta tiden från TIMESTAMP
fältet måste du köra din urvalsfråga och få dina resultat. I illustrativt syfte skulle detta se ut ungefär så här:
//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.
Eftersom du har en TIMESTAMP
fältet nu, kommer databasen inte bara att ta ansvar för att uppdatera den med rätt tid, utan du kan alltid ändra $time->format()
metodens argument för att producera en sträng med tidsdata på en mängd olika sätt.
Tidsstämpeln abstraheras och din applikation får flexibilitet.
Win-Win, eller hur?
Originalt svar
Skapa en char(8)
kolumn i MySQL och skicka sedan utdata från ett anrop till:
date("H:i:s");
Även om det skulle vara optimalt att använda ett tidsstämpelfält i MySQL, med tanke på att du kan få det att uppdatera när posten interageras med. Du har inte för att använda hela tidsstämpeln.