我用的mysql数据库,date字段的类型为datetime,问题是我用了好几个函数如date(),getdate(),localtime()往date里添加时间时,最后添加的值全为0000-00-00 00:00:00,请问这是怎么回事啊?

解决方案 »

  1.   

    date_default_timezone_set(PRC);设置时间为北京时间
      

  2.   

    是不是你insert语句有问题啊?
      

  3.   

    MYSQL里用TIMESTAMP自动填充即可。
      

  4.   

    date字段的类型为不要用datetime,改成int(10)
    存储的时候存: time()  unix时间戳读取数据库的时候 用date()函数来显示
      

  5.   

    php的时间一般都是int(11),time()
      

  6.   

    mysql里是NOW()但建议都使用PHP的时间,可以避免很多问题,如PHP时区与mysqlSHIQU 不一致
      

  7.   

    date类型不用格式化直接输出,一般用int类型存时间戳,节约空间,读取时再格式化一下date()
      

  8.   


    $sql = 'INSERT INTO `table` ( `datetime` ) VALUES (' . date('Y-m-d H:i:s') . ')';
      

  9.   

    <?php
    $now = date("Y-m-d H:i:s");
    echo   $now; 
    ?>
      

  10.   

    把你的代码也贴出来瞧瞧.  $datatime = time();
      $sql_code = " INSERT INTO TABLENAME (datetime) VALUES ('".$datatime."') ";
      

  11.   

    可以参照下这篇文章,PHP的格式化时间函数date()与gmdate()
      

  12.   

    date_default_timezone_set(PRC);先设置时间域为北京时间