博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP 更新数据 save方法
阅读量:4516 次
发布时间:2019-06-08

本文共 1729 字,大约阅读时间需要 5 分钟。

ThinkPHP save() 方法

ThinkPHP 中使用 save() 方法来更新数据库,并且也支持连贯操作的使用。

例子:

public function update(){    header("Content-Type:text/html; charset=utf-8");    $Dao = M("User");    // 需要更新的数据    $data['email'] = 'Jack@163.com';    // 更新的条件    $condition['username'] = 'Jack';    $result = $Dao->where($condition)->save($data);    //或者:$resul t= $Dao->where($condition)->data($data)->save();    if($result !== false){        echo '数据更新成功!';    }else{        echo '数据更新失败!';    }}

上面例子执行的 SQL 语句为:

UPDATE user SET email='Jack@163.com' WHERE username='Jack'

 

提示

为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含的话,save方法不会更新任何数据库的记录。

因此要使用 save() 方法更新数据,必须指定更新条件或者更新的数据中包含主键字段

使用主键的例子:

public function update(){    header("Content-Type:text/html; charset=utf-8");    $Dao = M("User");    // 需要更新的数据    $data['email'] = 'Jack@163.com';    $data['uid'] = 2;    $result = $Dao->save($data);    if($result !== false){        echo '数据更新成功!';    }else{        echo '数据更新失败!';    }}

 

如果需要更新的数据里面包含主键,那么 ThinkPHP 会自动把主键的值作为条件来更新。上面的例子跟下面的效果相同:

// 需要更新的数据    $data['email'] = 'Jack@163.com';    // 更新的条件    $condition['uid'] = 2;    $result = $Dao->where($condition)->save($data);

 

如果是表单数据,还可以使用 create() 方法创建数据对象来更新数据:

public function update(){    header("Content-Type:text/html; charset=utf-8");    $Dao = D("User");    if($vo = $Dao->create()) {        $result = $Dao->save();        if($result !== false){            echo '数据更新成功!';        }else{            echo '数据更新失败!';        }    }else{        $this->error($Form->getError());    }}

 

如果更新的数据需要做逻辑处理,可以在操作类以对象的方式处理或者在模型内处理,具体可参考《》。

注意:以create() 方法创建数据对象来更新数据,表单中必须包含一个以主键为名称的隐藏域,才能完成保存操作。

数据没变,提交更新,返回false;

数据变,提交更新,返回true;
返回的不是false 而是0 你要用恒等判断 是否提交失败

转载于:https://www.cnblogs.com/wicub/p/4472323.html

你可能感兴趣的文章
关于源代码及其管理工具的总结
查看>>
此文对你人生会有莫大好处的,建议永久保存 2013-07-26 11:04 476人阅读 评论(0) ...
查看>>
JQuery怎样返回前一页
查看>>
Best Time to Buy and Sell Stock
查看>>
Web服务器的原理
查看>>
记录ok6410 jlink 命令行调试uboot
查看>>
ASP.net 内置对象
查看>>
QT使用mysql
查看>>
判断有无网
查看>>
ASP.NET简介
查看>>
php开发环境搭建
查看>>
select模型的原理、优点、缺点
查看>>
进程调度优先级
查看>>
HTML5表单那些事
查看>>
Spring MVC 学习总结(五)——校验与文件上传
查看>>
160505、oracle 修改字符集 修改为ZHS16GBK
查看>>
Java中的关键字--volatile
查看>>
Spring 4 官方文档学习 Spring与Java EE技术的集成
查看>>
cocos+kbe问题记录
查看>>
自动化测试框架selenium+java+TestNG——配置篇
查看>>