今天用ThinkPHP做了一个简单的商品发布系统,数据库本来只有四个字段id,name,url,image。id是主键,name是商品名称,url是商品链接,image是商品图片,做的差不多了,发现还少一个字段,那就是价格,然后建立了字段,类型是decimal(8,2),意思是共8位,小数点占两位,然后执行之后,页面显示数据插入成功,但是查看数据库字段为0.00,如下图:

链接纯属虚构,上不去哈,,,于是弄了好长时间,还是不行,然后怀疑是不是ThinkPHP对数字支持不是太好,然后干脆将类型修改成VARCHAR了,并且价格加上了单引号,结果还是一样,纳闷了,,

     $Gouwu=M('Gouwu');    //实例化对象
$data['name']="淘宝女装连衣裙";
$data['url']="http://item.taobao.com/item.htm?id=2822929";
$data['image']="http://www.baidu.com/sjsh.jpg";
$data['jiage']='6.82';
//执行插入数据data方法
if($Gouwu->data($data)->add())
echo "插入成功";

然后重启数据库和服务器,结果还是一样,接着用原生代码测试,

 $conn=mysql_connect("localhost","root","wodemima") or die('连接错误:'.mysql_error());
if($conn)
//echo "数据库连接成功";
{
mysql_select_db('webappsceshi',$conn);
mysql_query('set names utf8');
$sql="INSERT INTO tb_gouwu (name,url,image,jiage) VALUES ('$data[name]','$data[url]','$data[image]','$data[jiage]')";
if(mysql_query($sql,$conn)){
echo "插入成功";
}
}

运行之后没问题,数据库也更新了数据,这时感觉是不是ThinkPHP内部出问题了,但是挺成熟的一个框架应该挺完善的呀,又折腾了一会,发现应用目录下有个Runtime,如下图:

感觉这个文件夹可能是运行时的缓存,我对ThinkPHP整个目录分布不太了解,只知道简单的写点类和方法,查了一下就是运行时的缓存文件,具体就不多说了,进去:

全选文件,然后删除就行了,下一次运行程序的时候会自动更新,然后再次运行写好的程序,插入成功,看一下数据果然插入成功了,见下图:

这虽然是个小问题,但对于我不懂原理所以开始没有想到,所以记录下来,遇事多思考,基础的东西是一定要掌握好的,也希望能帮助到大家。

ThinkPHP增加数据库字段后插入数据为空的解决办法的更多相关文章

  1. 标注工具doccano导出数据为空的解决办法

    地址:https://github.com/taishan1994/doccano_export doccano_export 使用doccano标注工具同时导出实体和关系数据为空的解决办法.docc ...

  2. JAVA:当数据库重启后连接池没有自动识别的解决办法

    今天发现服务器上的一个服务程序出现问题,软件抛出:Connection reset by peer: socket write error 无法正常提供服务,找了一下原因,原来是因为数据库服务器重启, ...

  3. .NET 调用java webservice保存datetime类型数据为空的解决办法

    问题描述:       用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到 string类型的属性值,却不能得到i ...

  4. Easy Populate批量管理下载产品数据为空的解决办法

    把原来的先删除:http://aaaaacom/admin/easypopulate.php?langer=remove

  5. EF Core中,通过实体类向SQL Server数据库表中插入数据后,实体对象是如何得到数据库表中的默认值的

    我们使用EF Core的实体类向SQL Server数据库表中插入数据后,如果数据库表中有自增列或默认值列,那么EF Core的实体对象也会返回插入到数据库表中的默认值. 下面我们通过例子来展示,EF ...

  6. C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据

    #region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...

  7. SQL语句的使用,SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据

    SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法. 但是 SQL 语言也包含用于更新. ...

  8. HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较

    摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出此办法的性能是不能满足应用要求的,很显然对于如此成熟的HBase来说,高性能获取数据应该不是问题. ...

  9. 修改计算机名或IP后Oracle10g无法启动服务的解决办法

    修改计算机名或IP后Oracle10g无法启动服务的解决办法 遇到的问题,问题产生原因不详.症状为,windows服务中有一项oracle服务启动不了,报出如下错误. Windows 不能在 本地计算 ...

随机推荐

  1. Wordpress文章图片不居中与开头缩进问题

    //段落开头缩进 .Mid2L_con p {text-indent:2em;} //文章内图片不居中(设置居中后) .Mid2L_con .aligncenter { display: block; ...

  2. vim中大小写转换

    转自:http://www.cnblogs.com/fortran/archive/2010/07/25/1784513.html vim中大小写转化的命令是:gu或者gU,形象一点的解释就是小u意味 ...

  3. NERD_commenter——VIM批量注释与反注释插件

    转自:http://www.xefan.com/archives/83568.html 这是对程序员非常实用的一款插件,支持多种语言的补全,还支持单行注释,批量注释,等各种命令映射. 使用方法,先下载 ...

  4. vim 树形目录插件NERDTree安装及简单用法

    转自: http://blog.csdn.net/love__coder/article/details/6659103 1,安装NERDTree插件 先下载,官网:http://www.vim.or ...

  5. JDBC:从数据库中取数据的一个bug

    先看错误信息: java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLExcept ...

  6. 黄学长模拟day1 大逃亡

    给出数字N(1<=N<=10000),X(1<=x<=1000),Y(1<=Y<=1000),代表有N个敌人分布一个X行Y列的矩阵上,矩形的行号从0到X-1,列号从 ...

  7. 清北学堂模拟day6 兔子

    [问题描述] 在一片草原上有N个兔子窝,每个窝里住着一只兔子,有M条路径连接这些窝.更特殊地是,至多只有一个兔子窝有3条或更多的路径与它相连,其它的兔子窝只有1条或2条路径与其相连.换句话讲,这些兔子 ...

  8. 【C语言入门教程】7.3 结构体指针的定义和引用

    C 语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作.在学习结构指针之前,需要再次加深对指针的认识.声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针 ...

  9. OS X Framework Library not loaded: 'Image not found'的解决办法

    参考:OS X Framework Library not loaded: 'Image not found' 1.首先将相应的framework手动复制到/System/Library/Framew ...

  10. CSS3计数器的使用-遁地龙卷风

    结合::before实现自定义列表 body { counter-reset:dnf; } div::before { content:counter(dnf) "."; coun ...