Php 当代码运行时,如何向mysql数据库添加准备好的stmt的时间戳?

Php 当代码运行时,如何向mysql数据库添加准备好的stmt的时间戳?,php,mysql,sql,timestamp,prepared-statement,Php,Mysql,Sql,Timestamp,Prepared Statement,我想添加一个也可以同时插入的“现在”日期/时间戳,以便跟踪用户创建帐户的时间。是否有我需要编写/引用的函数来获取当前日期?还是有一个已知的函数我只需要引用?我是php新手,对不起,您现在可以使用NOW(): 您可以利用MySQL的 通过使用defaultcurrent\u timestamp选项将timestamp列添加到表中,可以实现这一点: $stmt = $conn->prepare("INSERT INTO users (username,created) VALUES (?, N

我想添加一个也可以同时插入的“现在”日期/时间戳,以便跟踪用户创建帐户的时间。是否有我需要编写/引用的函数来获取当前日期?还是有一个已知的函数我只需要引用?我是php新手,对不起,您现在可以使用
NOW()

您可以利用MySQL的

通过使用
defaultcurrent\u timestamp
选项将
timestamp
列添加到表中,可以实现这一点:

$stmt = $conn->prepare("INSERT INTO users (username,created) VALUES (?, NOW())");
$stmt->bind_param("s", $_POST['username-reg']);
$stmt->execute();
有了这个设置,你就不必再担心那个专栏了。插入时忽略它,数据库将根据需要自动设置:

create table users (
    user_id int primary key auto_increment,
    username varchar(50),
    ts_created timestamp default current_timestamp
);
注意:如果您还希望在修改记录时更新时间戳,则可以将更新当前时间戳时的
添加到列的定义中

create table users (
    user_id int primary key auto_increment,
    username varchar(50),
    ts_created timestamp default current_timestamp
);
$stmt = $conn->prepare("INSERT INTO users (username) VALUES (?)");
$stmt->bind_param("ss", $_POST['username-reg']);
$stmt->execute();