THINKPHP5修改数据库数据出现“缺少更新条件”的错误

发布于 2022-09-11 16:15:25 字数 2003 浏览 35 评论 0

图片描述
查询数据库的数据分配显示在页面山

图片描述
修改后的数据准备传递到第三章图里

图片描述
接收数据,然后修改到数据
数据可以传递过来,但是更新不到数据库里面

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
第一张图代码
public function edit(){

$db_01=new DB();
$id_edit=Request::instance()->param('id');
$m=$db_01::table('caipin')->where('id',$id_edit)->select();
$this->assign('m',$m);
return view();

}

第2张图代码
<form action="{:url('Guanli/tz')}" method="POST">

    
     {volist name="m" id="vo_edit"}
        <text style="font-size: 15px;" type="" name="id" value="">{$vo_edit.id}                    </text><br>
        <input type="" name="name" value="{$vo_edit.cp_name}"><br>
        <input type="" name="price" value="{$vo_edit.cp_price}"><br>
        <input type="" name="kind" value="{$vo_edit.cp_kind}"><br>
        <input type="submit" name="" value="确认修改"><br>
    {/volist}     
</form>

第3张图代码

public function  tz(){

      if(request()->isPost()){
        $data=[
          'id'=>input('id'),//前面的 id是对应数据库里的字段,后面的ID是传过来的name的属性
          'cp_name'=>input('name'),//这两句是接收form表提交的数据
          'cp_price'=>input('price'),
           'cp_kind'=>input('kind'),
          ];
         var_dump($data);
              $db=new DB();              
              if($db::table('caipin')->update($data)){        //添加数据
                return $this->success('修改数据成功');    //成功后跳转  lst 界面
            }
            else{
                return $this->error('修改数据失败');
            }


        }

}

你期待的结果是什么?实际看到的错误信息又是什么?

为什么数据传递过去但是不能更新到数据库里面

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伊面 2022-09-18 16:15:25

这个是避免你没加where 更新了全表的数据。请确认如果确实需要这样操作,可以传入一个始终为true的where,比如

  • where(id,'!=',0)
  • whereRaw('1=1')
能否归途做我良人 2022-09-18 16:15:25

update 语句需要写条件,就是要更新哪些数据例如: $db::table('caipin')->where('id',$id)->update($data)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文