ThinkPHP增加数据库字段后插入数据为空的解决办法

  今天用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 "插入成功";

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

 1 $conn=mysql_connect("localhost","root","wodemima") or die(‘连接错误:‘.mysql_error());
 2         if($conn)
 3             //echo "数据库连接成功";
 4         {
 5             mysql_select_db(‘webappsceshi‘,$conn);
 6             mysql_query(‘set names utf8‘);
 7             $sql="INSERT INTO tb_gouwu (name,url,image,jiage) VALUES (‘$data[name]‘,‘$data[url]‘,‘$data[image]‘,‘$data[jiage]‘)";
 8             if(mysql_query($sql,$conn)){
 9                 echo "插入成功";
10             }
11         }

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

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

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

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

时间: 2024-10-14 04:49:57

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

MySQL 数据库输入密码后闪退的问题及解决办法

MySQL 数据库输入密码后闪退的问题及解决办法 1.问题说明 在启动MySQL服务端并输入密后,出现闪退现象.实际上,这种问题很常见,大多数原因可能是在咱们使用安全软件的时候,无意中关闭了MySQL服务.此外,如果MySQL服务已经启动了,但还是出现了闪退的现象,那就可能是MySQL的配置出现了问题. 2.解决方案(步骤) 鼠标右击此电脑 点击管理 点击服务和应用程序 点击服务 找到MySQL,点击启动此服务即可 原文地址:https://www.cnblogs.com/zhuchengbo/

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

今天发现服务器上的一个服务程序出现问题,软件抛出:Connection reset by peer: socket write error 无法正常提供服务,找了一下原因,原来是因为数据库服务器重启,连接池里的数据库连接connection无法创建新的Statement,导致无法提供正常服务. 到百度搜索了一下,看到一篇文章与我遇到的问题类似,解决办法虽然看上去不是很好的办法,但也实用: 解决思路:在使用前创建一个Statement,如果抛出异常,说明connection已断开,重新连接. if

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

问题描述:       用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到 string类型的属性值,却不能得到int类型.double和DateTime类型的值(在服务端得到的均为null) 问题原因:        VS封装WebService引用时,如果WebService发布的是一个基本数据类型组成的对象,则会对该对象的非string属性同时生成 两个属性,一般是这样的"属性××"."

使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据

应用场景: 我们需要设计一个数据库来保存多个文档中每个文档的关键字.假如我们每个文档字符都超过了1000,取其中出现频率最大的为我们的关键字. 假设每个文档的关键字都超过了300,每一个文件的0-299号存储的是我们的关键字.那我们要建这样一个数据库,手动输入这样的一个表是不现实的,我们只有通过程序来帮我实现这个重复枯燥的操作. 具体的示意图如下所示: 首先图1是我们的原始表格: 图1 这个时候我们需要程序来帮我们完成自动字段的创建和数据的插入. 图2 上图是我们整个表的概况.下面我们就用程序来

ruby向数据库用语句插入数据

1.dos工程路径下执行(c:home/trunk/src下): ruby script/generatemigration  AddPermissionsData(名字随便起) 生成时间戳文件 class AddPermissionsData< ActiveRecord::Migration def self.up p = Permission.create({:name => '张三', :parent_id => '367', :deleted => '0', :action

php 表单提交错误后返回数据消失问题的解决方法

本文章向码农们介绍php 表单提交错误后返回数据消失问题的解决方法,感兴趣的码农可以参考一下. 表单提交错误后返回数据消失怎么办呐,今天就来分析解决一下这个问题. 状况概述: 做填写表单信息提交的时候会碰到一个问题就是当用户填写并提交表单后,程序判断不符合要求并返回,返回之后之前填写的表单信息会被清空了的情况.如果填写的信息量少还无所谓,如果填写的信息量比较多,这会直接打击到填写信息的人的良好心情.因此解决表单提交错误返回后填写的内容消失的问题是一个提高用户体验度的迫在眉睫的问题. 对于这种问题

HBase 高性能获取数据 - 多线程批量式解决办法

在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出此办法的性能是不能满足应用要求的,很显然对于如此成熟的HBase来说,高性能获取数据应该不是问题.下面首先简单介绍了搜索引擎的性能,然后详细说明了HBase与MySQL的性能对比,这里的数据都是经过实际的测试获得的.最后,给出了采用多线程批量从HBase中取数据的方案,此方案经过测试要比通过自定义Filter的方式性能高出很多. Solr和HBase专辑 1.“关于Solr的使用总结的心得体会”(http:

MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法

方法如下:打开应用程序- 实用工具 - 终端. 以此出入如下字符 defaults write com.apple.dock ResetLaunchPad -bool true killall Dock 再次打开 LaunchPad 的时候, 所有图标会被重建, 并且之前的所有设置都会丢失. 没有特殊情况不要使用哦. 以免丢失之前的排列方式与文件夹. MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法,布布扣,bubuko.com

您在wp-config.php文件中提供的数据库用户名和密码可能不正确 的解决办法

您在wp-config.php文件中提供的数据库用户名和密码可能不正确 的解决办法 (2015-09-18 23:01:40) 标签: it 技术 经验 wordpress 网站 访问wp-admin/install.php出错:数据库连接错误.您在wp-config.php文件中提供的数据库用户名和密码可能不正确 然后看了下百度,都说是数据库没有连接成功造成的. 那么怎么设置?我整了几次没搞成功,最后还是给解决了.下面我把我设置成功的过程记录下来,以后能用到,也能帮到大家. 1.在htdocs