php - 使用 PHP 将日期和时间保存到 MySQL 时遇到问题

标签 php mysql date time

我正在编写一个网站,但在使用 PHP 将日期和时间保存到 MySQL 数据库时遇到问题,但我得到的日期只是 0000-00-00 00:00:00。我不确定我的代码有什么问题,所以希望大家能帮我指出。

为了方便起见,下面是我存储在外部 php 文件中的 INSERT 函数

 <?php
    class FITQuery {    
        public static function insert($table, $fields, $values, $condition = null) {

        $query = "INSERT INTO ".$table;

        $query .= '(';

        for ($i = 0; $i < count($fields) - 1; $i++) {
            $query .= $fields[$i].',';
        }

        $query .= $fields[count($fields) - 1];

        $query .= ') VALUES (';

        for ($i = 0; $i < count($values) - 1; $i++) {
            $query .= "'".$values[$i]."',";
        }

        $query .= "'".$values[count($values) - 1]."'";

        $query .= ') ';     

        if (mysql_query($query)) return true;
        else die("INSERT:".mysql_error());
    } 

} ?>

这是我使用 INSERT 的代码:

<?php
if (!empty($_POST)) {
    // POST PROCESS
    $title = $_POST['title'];
    $short_desc  = $_POST['short_desc'];
    $content = $_POST['content'];   
    // FILE UPLOAD
    if (isset($_FILES['avatar'])) {      
        $avatar = FITUtils::uploadFile($_FILES['avatar']['name'], $_FILES['avatar']['tmp_name'], "../uploads");
    }
    else $avatar = null;

    // Insert
    FITQuery::insert('news', array('title','short_desc','content','avatar','created_date'), 
        array($title, $short_desc, $content, $avatar, FITUtils::getDate()));

    FITUtils::redirect('index.php?page=news');
}
else {

}
?>

我很确定这不是 INSERT 函数的问题,因为我已经尝试过“传统”方法,但仍然得到相同的结果。有人对我有一些建议吗?我是 PHP 的新手,所以我希望你们能帮助我。谢谢!

最佳答案

尝试将 FITUtils::getDate() 更改为

date('Y-m-d H:i:s', strtotime(FITUtils::getDate()))

MySQL期望的日期格式类似于2011-12-17 04:20:00,它对应于传递的“format”参数Y-m-d H:i:s到上面建议中的 date 函数。

我不知道 FITUtils::getDate() 返回的日期格式。如果是字符串,那么strftime会将其转换为时间戳,因此我们可以将其用作date函数的第二个参数。如果它已经返回时间戳,那么您可以尝试以下代码:

日期('Y-m-d H:i:s', FITUtils::getDate())

关于php - 使用 PHP 将日期和时间保存到 MySQL 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542530/

相关文章:

java - 加快日期模式匹配速度

ios - 找出一个函数执行需要多长时间(以秒为单位)

php - 迁移时出错, "Syntax error or access violation:1064"

php - Braintree API 在 PHP 中的成功和货币问题

php - 想要查看具有多个值的列中的 id

php - Slim Framework - 将代码拆分为 index.php 以外的多个文件

php - 更新查询中的两列

php - 根据wordpress的id获取数据

php - 如何从 php 中的查询字符串传递字符串数据类型值

javascript - 计算日期时的时间数学问题