Upravená odpověď
Pokud chcete použít běžný TIMESTAMP
pole v MySQL, nejprve pole vytvořte.
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Jakmile nastavíte pole, můžete jej nechat být. Když vložíte záznam, předejte null
jako hodnotu a výchozí bude aktuální čas. Když záznam aktualizujete, čas se upraví.
Chcete-li získat čas z TIMESTAMP
pole, budete muset spustit výběrový dotaz a získat výsledky. Pro ilustrativní účely by to vypadalo asi takto:
//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.
Protože máte TIMESTAMP
pole nyní nejen, že databáze převezme odpovědnost za aktualizaci ve správný čas, ale vždy můžete upravit $time->format()
argument metody pro vytvoření řetězce s časovými údaji mnoha různými způsoby.
Časové razítko se abstrahuje a vaše aplikace získá flexibilitu.
Win-Win, že?
Původní odpověď
Vytvořte char(8)
sloupec v MySQL a poté mu pošlete výstup z volání na:
date("H:i:s");
Ačkoli použití pole časového razítka v MySQL by bylo optimální, vezmeme-li v úvahu, že jej můžete nechat aktualizovat, když se záznamem interaguje. nemáte použít celé časové razítko.