首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的MySQL表中插入时间戳?

问如何在我的MySQL表中插入时间戳?
EN

Stack Overflow用户
提问于 2016-06-03 14:16:10
回答 8查看 176K关注 0票数 36

在MySQL表中,我有一个名为date的字段,其类型称为时间戳,默认为CURRENT_TIMESTAMP。但是,如果在MySQL中将字段保留为空白,则会得到一个错误。当我试图插入像time()这样的东西时,我会以0000-00-00 00:00:00的形式接收日期。

代码语言:javascript
复制
<?php

    $name         = "";
    $email        = "";
    $subject      = "";
    $comments     = "";
    $nameError    = "";
    $emailError   = "";
    $subjectError = "";
    $x            = 5;
    function filterData($data)
    {
        $data = htmlspecialchars($data);
        $data = stripslashes($data);
        return $data;
    }
    $connection = mysql_connect('host', 'user', 'pass');
    if (!$connection) {
        die('Could not connect: ' . mysql_error());
    }
    
    
    $select_database = mysql_select_db("contact");
    
    if (!$select_database) {
        echo "could not select database " . mysql_error();
        
    }
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        //handles the name 
        $name = filterData($_POST["name"]);
        if (empty($name)) {
            $nameError = "please don't leave the name field blank";
        }
        //handles the email
        $email = filterData($_POST["email"]);
        if (empty($email)) {
            $emailError = "please don't leave the email field blank";
        }
        
        //handles the subject
        $subject = filterData($_POST["subject"]);
        if (empty($subject)) {
            $subjectError = "please don't leave this field blank";
        }
        
        $comments = filterData($_POST["comments"]);
        
    }
    
    $insertation = "INSERT INTO contactinfo (name, email, subject, date, comments)
        VALUES ('$name', '$email', '$subject', '', '$comments')";
    
    $insertationQuery = mysql_query($insertation, $connection);
    
    if (!$insertationQuery) {
        echo "Could not process your information " . mysql_error();
    } else {
        echo "Thank you for submitting the information";
    }
    
?>
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2016-06-03 14:28:12

除了检查表设置以确认字段设置为NOT NULL (默认值为CURRENT_TIMESTAMP )外,还可以通过以与MySQL兼容的字符串格式写入日期/时间值来插入来自MySQL的日期/时间值。

代码语言:javascript
复制
 $timestamp = date("Y-m-d H:i:s");

这将为您提供可以插入到MySQL中的字符串格式的当前日期和时间。

票数 51
EN

Stack Overflow用户

发布于 2016-06-03 14:32:40

请尝试CURRENT_TIME()或now()函数

代码语言:javascript
复制
"INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', NOW(), '$comments')"

或

代码语言:javascript
复制
"INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', CURRENT_TIME(), '$comments')"

或者您可以尝试使用PHP date函数这里。

代码语言:javascript
复制
$date = date("Y-m-d H:i:s");
票数 26
EN

Stack Overflow用户

发布于 2016-06-03 14:38:25

代码语言:javascript
复制
$insertation = "INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', CURRENT_TIMESTAMP(), '$comments')";

您可以使用此查询。时间戳

记住使用括号CURRENT_TIMESTAMP()

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37616760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档