PHP / SQL创建日期戳并将其插入数据库

时间:2017-07-23 19:29:23

标签: php mysql wordpress

我正在玩wordpress $wpdb功能。

首先,我想创建一个数据库表,其中包含与时间对应的列,以便我可以将用户操作保存到此表中,并知道他们何时执行此操作。

创建表格:

$sql = "CREATE TABLE IF NOT EXISTS $table_name (
        id INT NOT NULL AUTO_INCREMENT,
        actiontime NOT NULL DATETIME,
        PRIMARY KEY (id)
    ) $charset_collSate;";
    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
    // execute the query
    dbDelta( $sql );

这是对的吗?它会创建我追求的DATETIME字段吗?我想要一个时间戳,以便我可以在每分钟/秒间隔内获得差异。

插入此表:

    $wpdb->insert($table_name, array(
        'actiontime'      => now()
    ));

这会有用吗?

我无法手动检查,因为我正在侧面机器上进行开发,只有ftp访问live-server和notepad。我不能在当地测试任何东西。

3 个答案:

答案 0 :(得分:1)

您可以考虑一些选项,

如果您使用普通的旧PHP和MySQL,可以使用SQL now()函数将数据插入到这样的时间戳字段中,

INSERT INTO projects (actiontime) VALUES (now())

另一个选择是使用PHP变量,例如$timestamp = date('Y-m-d G:i:s');并将其插入SQL查询中:

$timestamp = date('Y-m-d G:i:s');
INSERT INTO projects (actiontime) VALUES ($timestamp);

希望它有所帮助!

答案 1 :(得分:1)

我使用这个php函数来获取MySQL DATETIME字段的当前值。

/**
 * Return current date time.
 *
 * @return string ISO date time (Y-m-d H:i:s)
 */
function now()
{
    return date('Y-m-d H:i:s');
}

答案 2 :(得分:-1)

尝试PHP time()获取纪元时间戳