记save函数

摘要:
在编写修改商品的代码时,我使用了create()函数和save函数。空){show;$goods-˃create();$result=$goods-˃where-˃save();如果{$this-˃redirect;}}否则{$goodsinfo=$goods-˃select();//show;$this-˃assign;$this-˃display();}}假设表单接受数据作为比较数据库。可以发现表单数据没有主键。我查看了如何使用save的手册,所以在使用save时必须有主键。后来,我添加了where()。执行成功。代码是functionupd{$goods=D;if(!

    在写商品修改的代码的时候,我使用到了create()函数,也使用到了save函数。但是我从表单接受过来的数据,在添加语句的时候都没成功。代码如下

 function upd($goods_id){
         $goods=D("Goods");
         if(!empty($_POST))
         {
             show($_POST);
             $goods->create();
             $result=$goods->where("goods_id=".$goods_id)->save();
             if($result){
                 $this->redirect("Goods/showlist");
             }
         }
         else{
          $goodsinfo=$goods->select();
         //show($goodsinfo);
          $this->assign("goodsinfo",$goodsinfo);     
          $this->display();
         }
 
    }

说出表单接受数据为

记save函数第1张

对比数据库

记save函数第2张

对比可以发现,表单的数据没主键。我查看手册save的用法

记save函数第3张

所以使用save的时候一定要有主键。后来我添加了where()。执行成功了,代码如下

function upd($goods_id){
         $goods=D("Goods");
         if(!empty($_POST))
         {
             show($_POST);
             $goods->create();
             $result=$goods->where("goods_id=".$goods_id)->save();
             if($result){
                 $this->redirect("Goods/showlist");
             }
         }
         else{
          $goodsinfo=$goods->where("goods_id=".$goods_id)->select();
         //show($goodsinfo);
          $this->assign("goodsinfo",$goodsinfo);     
          $this->display();
         }
 
    }

免责声明:文章转载自《记save函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Archive.org:互联网档案馆QTP之下拉列表单选框…下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

无密码远程桌面连接方法

无密码远程桌面的连接方法如下:1.设置为允许远程桌面访问。...

js引用类型赋值不改变原对象值

在JS中,对象的赋值是指默认情况下的赋值。如果更改指定对象,原始对象也将更改。如果要复制赋值,需要重新分配对象:vara={'name':'zhangsan'};varb=对象。分配b、 name='lisi';这样,原始对象的下一层的值不会更改,但如果对象中存在对象,下一层也会更改下一层中的原始对象。处理两个对象的相关性有一个简单而激烈的问题:obj1={...

[npm CLI文档]配置NPM:package-lock.json

包装锁。json和npm shrink-wrap json将两个文件以相同的格式进行比较,并在项目的根目录中执行类似的功能。不同之处在于包锁Json无法发布,如果在根目录之外的任何位置找到它,就会被忽略。隐藏的锁定文件避免重复处理nodes_Modules文件夹。从v7开始,npm使用node_modules/.package锁。json中的“隐藏”锁文件。...

echarts使用技巧(一)echarts的图表自适应resize问题、单选、缩放等

因此,当浏览器发生调整大小事件时,让它触发rechart调整大小事件来重新绘制画布。使用窗口。resize=myChart resize;通过将窗口的调整大小事件分配给回声调整大小事件,可以实现自适应。当然,这是单一图表的情况。如果有多个图表,它将无法工作。...

Lynx浏览器简明使用指南(转)

Lynx可以运行在很多种操作系统下,如VMS,UNIX,Windows95,WindowsNT等,当然也包括Linux。由于没有漂亮的图形界面,所以Lynx占用资源极少,而且速度很快。另外Lynx还是唯一能在字符终端下运行的WWW浏览器。Lynx的主页地址是:http://lynx.browser.org,另外http://www.cc.ukans.edu/...

聚合初始化

从当前C++标准库中提取,提供了两个容器来表示数组的概念:array表示静态数组,vector表示动态数组。这两种类型都可以使用列表初始化进行初始化。std::array={1,2,3,4,5};std::vector<int>={1,2,3,4,5};这实际上是聚合初始化。聚合初始化历史悠久,在C语言中就已经存在。intarray[5]={1,2,3,4,...