请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?
黄舟
黄舟 2017-04-10 17:05:14
[PHP讨论组]

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

黄舟
黄舟

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

全部回复(3)
PHP中文网

你看一下数据库里面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之中做转换就好。

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号