Bewerkt antwoord
Als u een gewone TIMESTAMP
. wilt gebruiken veld in MySQL, maak eerst het veld aan.
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Als je het veld eenmaal hebt ingesteld, kun je het met rust laten. Wanneer u een recordpas null
. invoegt als de waarde en wordt standaard de huidige tijd ingesteld. Wanneer u het record bijwerkt, wordt de tijd aangepast.
Om de tijd te verkrijgen uit de TIMESTAMP
veld moet u uw selectiequery uitvoeren en uw resultaten krijgen. Ter illustratie ziet dit er ongeveer als volgt uit:
//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.
Aangezien je een TIMESTAMP
. hebt veld nu, zal niet alleen de database de verantwoordelijkheid nemen om deze op de juiste tijd bij te werken, maar u kunt ook altijd het $time->format()
wijzigen argument van de methode om op verschillende manieren een string met tijdgegevens te produceren.
Het tijdstempel wordt geabstraheerd en uw toepassing wordt flexibeler.
Win-win, toch?
Oorspronkelijk antwoord
Maak een char(8)
kolom in MySQL en stuur het vervolgens de uitvoer van een aanroep naar:
date("H:i:s");
Hoewel het gebruik van een tijdstempelveld in MySQL optimaal zou zijn, aangezien u het kunt laten bijwerken wanneer er interactie met de record is. Je hebt geen hebt om de volledige tijdstempel te gebruiken.