提交表单时如何在数据库中添加日期和时间?

时间:2016-04-20 00:09:52

标签: php mysql forms

我正在尝试在提交注册表单时创建帐户时添加日期和时间。我正在尝试这个,它提供: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());

这与使用..替换它的重复回答问题完全不同。

4 个答案:

答案 0 :(得分:0)

$ 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());

答案 1 :(得分:0)

您的字段是 DATETIME 还是 TIMESTAMP ?,请确保它是其中之一。< / p>

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

答案 2 :(得分:0)

在使用now()函数之前,请确保已设置时区并通过回显wat打印进行检查,然后直接将其置于查询中。

答案 3 :(得分:0)

//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's date function,需要2个参数。首先是你想要的格式,第二个是UNIX时间戳。

因此,如果您在数据库中输入原始时间戳,您可以将其检索为原始时间戳,并在检索时将其格式化。

另一方面,请看一下PDO。 mysql_*函数很快就会被弃用。