我下面有这个页面,这是你提交表单时的 Action 。 我想知道如何为此添加一个时间函数,以在“时间”行中添加表单提交到我的数据库表的时间。我已经尝试了很多东西,但无法让它们工作:/
<?php
require 'db/connect.php';
if(isset($_POST['submitted']))
{
$player = $_POST['inputWho'];
$offense = $_POST['inputWhat'];
$where = $_POST['inputPlace'];
$proof = $_POST['inputProof'];
$comments = $_POST['inputComments'];
$sqlinsert = "INSERT INTO offenses (player, reason, place, proof, comments) VALUES ('$player', '$offense', '$where', '$proof', '$comments')";
if (!mysqli_query($db, $sqlinsert)) {
die('Error inserting new record.'. "<br />". mysqli_error($db));
} //end of nested if
} //end of if
header("Location: success.php");
?>
最佳答案
我通常处理这个问题的方法是在表格中添加一列,如下所示:
created_time datetime default current_timestamp
您甚至不必将它包含在您的 INSERT 语句中,它会在您创建行时自动设置。
编辑: 上述语句仅适用于 TIMESTAMP 类型,不适用于 DATETIME。 (许多人目前可能仍在使用 MySQL 5.5 或更早版本。)这在此处的手册中进行了讨论:http://dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
您可以使用Skywalker's answer 来避免这个版本问题。 . (或者不使用 MySQL。)
如果您在更新时还需要设置列,那就是另一回事了。
我发现从数据库内部获取时间通常比从网络服务器提供时间更可取。这可以避免您的 Web 服务器时间与数据库服务器稍微不同步的任何问题。 (您甚至可能有多个彼此不同步的 Web 服务器。)
关于php - 如何添加表单提交时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22287489/