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

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

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

  • 相关阅读:
    POJ 1797 Heavy Transportation (Dijkstra算法变形)
    HDU 2883 kebab (最大流)
    HDU 3338 Kakuro Extension (最大流)
    简单的敏捷工具更受敏捷开发团队青睐
    让敏捷工具在敏捷开发中发挥高效作用
    看板工具和Scrum工具选择之惑!
    敏捷开发如何在创业公司实施
    八个垂手可得的Scrum敏捷开发工具
    那些我们常用的scrum工具、敏捷开发工具
    Scrum/Sprint敏捷开发方法.
  • 原文地址:https://www.cnblogs.com/freeweb/p/4505680.html
Copyright © 2020-2023  润新知