如何在提交表单时自动将日期/时间信息发送到我的数据库?我正在创建一个评论框,我的“评论”表中有一个名为“created”的列(我将其设置为“datetime”类型),我想要发送日期和时间信息,以便我可以用我的页面上的评论显示它。
这是我必须从我的页面代码发送的内容,还是我可以设置数据库,以便每次从表单接收新数据时自动存储时间戳?我正在使用phpMyAdmin来管理我的数据库,以防万一。
这是我现在发送表单信息的代码:
<?php
if (isset($_POST['submit'])) {
$required_fields = array("author", "body");
validate_presences($required_fields);
if (empty($errors)) {
$author = mysql_prep($_POST['author']);
$body = mysql_prep($_POST['body']);
$page_name = ($_POST['page_name']);
$query = "INSERT INTO comments (";
$query .= " author, body, page_name";
$query .= ") VALUES (";
$query .= " '{$author}', '{$body}', '{$page_name}'";
$query .= ")";
$result = mysqli_query($connection, $query);
if ($result) {
redirect_to("new_admin.php");
} else {
// Failure
$_SESSION["message"] = "There was an error that prevented the comment from being saved.";
}
}
} else {
$author = "";
$body = "";
}
?>
任何帮助都会很棒,谢谢!!
答案 0 :(得分:0)
看起来像这样:
$query = "INSERT INTO comments (";
$query .= " author, body, page_name, date_Added";
$query .= ") VALUES (";
$query .= " '{$author}', '{$body}', '{$page_name}', NOW()";
$query .= ")";
$result = mysqli_query($connection, $query);
你也可能需要
ALTER TABLE comments ADD date_added date time;
或者您可以通过添加如下列来为数据库填充它:
ALTER TABLE comments ADD date_Added TIMESTAMP DEFAULT CURRENT_TIMESTAMP
答案 1 :(得分:0)
在db表定义中,您可以为字段设置默认值,包括新行和更新时的timestamp / datetime。这意味着您不必更改上述代码(给定上述方案)。
http://dev.mysql.com/doc/refman/5.1/en/timestamp-initialization.html