提交表格时,如何将日期和时间添加到数据库中


How do you add date and time into database when submitting a form?

我正在尝试添加提交注册表格时创建帐户的日期和时间。我正在尝试此操作,它将提供:0000-00-00 00:00:00

$sql = mysql_query("INSERT INTO users (id, username, email, password, created) VALUES (NULL, '$username', '$email', '$password', now())") or die(mysql_error());

这与您要替换为的重复回答的问题完全不同。。

$date=date('Y-m-d H:i:s');

$sql = mysql_query("INSERT INTO users (id, username, email, password, created) VALUES (NULL, '$username', '$email', '$password', '$date')") or die(mysql_error());

是您的字段DATETIME还是TIMESTAMP?,确保它是其中之一。

此外,如果您的字段为TIMESTAMP,您可以将默认值设置为CURRENT_TIMESTAMP

在使用now()函数之前,请确保您已经设置了时区,并在将其直接放入查询之前通过回显它正在打印的wat进行检查。

//insert raw time stamp into database
$sql = mysql_query("INSERT INTO users (id, username, email, password, created) VALUES (NULL, '$username', '$email', '$password', '" . time() . "')") or die(mysql_error());
//get time stamp from database and format it
$user = mysql_query("SELECT * FROM users where id = '1'");
if (mysql_num_rows($user)>0) {
    $row = mysql_fetch_array($user);
    echo 'Created: ', date('F jS Y - g:i a', $row['created']);
} else {
    echo 'User doesn''t exist';
}

看看PHP的日期函数,它有两个参数。第一个是您想要的格式,第二个是UNIX时间戳。

因此,如果你在数据库中输入原始时间戳,你就可以这样检索它,并在检索时按你喜欢的方式格式化它

另一方面,请查看PDO。mysql_*函数将很快被弃用。