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整个目录分布不太了解,只知道简单的写点类和方法,查了一下就是运行时的缓存文件,具体就不多说了,进去:

 

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

 

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

posted @ 2015-05-15 13:01  小得盈满  阅读(6551)  评论(0编辑  收藏  举报