>백엔드 개발 >PHP 튜토리얼 >请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?

请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?

WBOY
WBOY원래의
2016-06-06 20:14:032405검색

请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?

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

回复内容:

请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?

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

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

<code>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];
            }
        }</code>

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.