php - MYSQL/PHP 插入日期

标签 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";
        }
}

最佳答案

如果您确实想插入您生成的日期时间,则可以这样做。

注意:日期的格式必须为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";
}

如果您想查看,请向用户显示任何其他格式的日期时间,这是表示层的工作,将其重新格式化为任何区域设置特定的格式。

Your script was at risk of SQL Injection Attack Have a look at what happened to Little Bobby Tables Even if you are escaping inputs, its not safe! Use prepared parameterized statements

关于php - MYSQL/PHP 插入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42202803/

相关文章:

php - PhalconPHP 加入模型 Echo

php - 尝试从 mysql 的 2 个表中获取数据以显示在 php 中

mysql - 如何从mysql中的字符串中获取第一个字母?

javascript - 当用户键入一个字母时,如何使用 ajax 自动完成来显示来自 MySQL 数据库的值

mysql - AWS RDS - 自动备份与使用 MyISAM 表的快照

php - PDO mysql 和 PHP : Undefined index and Trying to get property of non-object

php - PayPal Rest API PHP 服务端点错误

mysql - INSERT INTO...SELECT - 主键冲突 - 错误 #1062

mysql - 说 `col1 < IFNULL(col2, 999999)` 和 `ORDER BY IFNULL(col3, 999999)` 的更好方式是什么?

php - 你自己的风格和古腾堡之间的冲突