请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?
黄舟
黄舟 2017-04-10 17:05:14
0
3
343

图片上边是要插入的数据,下边是getLastsql()获取的插入语句 dateline字段值变了?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复 (3)
Ty80

你看一下数据库里面dataline的格式,TP在插入数据的时候会检查字段在数据库中的格式并将数据转换为对应的格式。

if(!isset($this->options['bind'][':'.$key]) && isset($this->fields['_type'][$key])){ $fieldType = strtolower($this->fields['_type'][$key]); if(false !== strpos($fieldType,'enum')){ // 支持ENUM类型优先检测 }elseif(false === strpos($fieldType,'bigint') && false !== strpos($fieldType,'int')) { $data[$key] = intval($data[$key]); }elseif(false !== strpos($fieldType,'float') || false !== strpos($fieldType,'double')){ $data[$key] = floatval($data[$key]); }elseif(false !== strpos($fieldType,'bool')){ $data[$key] = (bool)$data[$key]; } }
    阿神

    还有数据库字段定义的长度

      阿神

      首先数据库存时间字段推荐为int(10)类型
      省空间效率高且非常灵活
      时间转换格式可以在php之中做转换就好。

      框架会对数据进行格式化操作,既然框架不合适那就原生就好了,要了解所以然就要去看框架的源码了

        最新下载
        更多>
        网站特效
        网站源码
        网站素材
        前端模板
        关于我们 免责声明 Sitemap
        PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!