Rumah >pembangunan bahagian belakang >tutorial php >请问下Thinkphp 操作mysql数据库 插入date类型显示0000-00-00?

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

WBOY
WBOYasal
2016-06-06 20:14:032398semak imbas

请问下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之中做转换就好。

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn