MYSQL / PHP插入日期

时间:2017-02-13 11:19:14

标签: php mysql

大家好我可以插入这个

date_default_timezone_set(Asia/Hong_Kong);
$date = date('"m/d/Y H:i:s"');

而不是

"INSERT INTO date_time(`submitted_time`) VALUES (NOW())"

因为我的问题是使用NOW()CURRENT_TIMESTAMP()给了我一个不准确的时间

我这样做但是当我查看数据库时,这就是插入的内容0000-00-00 00:00:00.0

date_default_timezone_set('Asia/Manila');

if(isset($_POST['submit'])) {
    $date = date('"m/d/Y H:i:s"');
        $query = "INSERT INTO `date_time`(`submitted_time`)
                    VALUES('$date')";
        if($conn->query($query)) {
            echo "success";
        } else {
            echo "error";
        }
}

1 个答案:

答案 0 :(得分:2)

如果你真的想插入你生成的日期时间,那就是它的完成方式。

注意:日期的格式必须是Y-m-d H:i:s,因为这是MYSQL对其DateTime数据类型理解的格式

date_default_timezone_set('Asia/Manila');

if(isset($_POST['submit'])) {

    $query = "INSERT INTO `date_time` (`submitted_time`) VALUES(?)";
    $stmt = $conn->prepare($query);

    // note the DateTime must be in this format to store correctly on a MYSQL database
    $dt = date('Y-m-d H:i:s');

    $stmt->bind_param('s', $dt);
    $status = $stmt->execute();

    if(!$status) {
        echo $stmt->error;    
        exit;
    }
    echo "success";
}

如果要查看,请向您的用户显示任何其他格式的DateTime,该格式是表示层的工作,以将其重新格式化为任何特定于语言环境的格式。

  

您的脚本 SQL Injection Attack的风险   看看Little Bobby Tables偶然发生了什么   if you are escaping inputs, its not safe!   使用prepared parameterized statements