首頁 >後端開發 >php教程 >请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?

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

WBOY
WBOY原創
2016-06-06 20:14:032406瀏覽

请问下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