ThinkPHP如何判断一个更新操作是否成功

ThinkPHP 内置的 save 方法用于向数据表更新数据,相当于 SQL 中的 UPDATE 行为。

ThinkPHP save() 方法

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

例子:

public function update(){
    header("Content-Type:text/html; charset=utf-8");
    $Dao = M("User");

    // 需要更新的数据
    $data[‘email‘] = ‘[email protected]‘;
    // 更新的条件
    $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=‘[email protected]‘ WHERE username=‘Jack‘

在tp中更新用到的是save方法,save方法返回值是更新操作影响的记录数,有可能影响的记录数为0,但却更新成功的。

更新数据分为两种情况:

1.更新成功。返回影响行数。如果数据没有变动则返回 0
2.更新失败。返回 false
所以判断可以使用

if($result ! == false ){

//成功

}

mysql中如果更新的值没变化,则返回0. 但是在mssql中无论更新的值是否有变化,只要update了,就返回受影响的行数。。。切记

时间: 2024-10-07 18:13:09

ThinkPHP如何判断一个更新操作是否成功的相关文章

ThinkPHP 判断一个更新操作是否成功

需要用 !== false 来判断更新是否成功,因为save方法返回值是更新操作影响的记录数,有可能影响的记录数为0,但却更新成功的. $Model = D('Blog'); $data['id'] = 10; $data['name'] = 'update name'; $result = $Model->save($data); if ( false !== $result ){ $this->success('更新成功!'); }else{ $this->error('更新失败!'

linux中判断一个命令是否执行成功

每一条基本命令执行后都有一个返回码,该返回码是用$?表示,执行成功的返回码是0,例如: if [ $? -ne 0 ];then 上一命令执行失败时的操作 else 上一命令执行成功时的操作fi 例如linux中启动JBoss判断是否启动成功 service IMX_JBossAS startif [$? -ne 0 ];then echo "失败"else echo "成功"fi

MongoDB的更新操作

在MongoDB中,更新单个doc的操作是原子性的.默认情况下,如果一个update操作更新多个doc,那么对每个doc的更新是原子性的,但是对整个update 操作而言,不是原子性的,可能存在前面的doc更新成功,而后面的doc更新失败的情况.由于更新单个doc的操作是原子性的,如果两个更新同时发生,那么一个更新操作会阻塞另外一个,doc的最终结果值是由最后的更新操作决定的. 通过使用 $isolated option,能够确保更新多个doc的写操作是原子性的,任何查询操作都会读取到更新操作,

shell脚本中判断上一个命令是否执行成功

2018-12-21 shell中使用符号"$?"来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败.结合if-else语句实现判断上一个命令是否执行成功 示例如下: if [ $? -ne 0 ]; then echo "failed" else echo "succeed" fi 或者: if [ $? -eq 0 ]; then echo "succeed" else echo "failed&

29 | 如何判断一个数据库是不是出问题了?

我在第25和27篇文章中,和你介绍了主备切换流程.通过这些内容的讲解,你应该已经很清楚了:在一主一备的双M架构里,主备切换只需要把客户端流量切到备库:而在一主多从架构里,主备切换除了要把客户端流量切到备库外,还需要把从库接到新主库上. 主备切换有两种场景,一种是主动切换,一种是被动切换.而其中被动切换,往往是因为主库出问题了,由HA系统发起的. 这也就引出了我们今天要讨论的问题:怎么判断一个主库出问题了? 你一定会说,这很简单啊,连上MySQL,执行个select 1就好了.但是select 1

判断一个文件是否存在

头文件     #include<unistd.h>函数    int access(const char * pathname, int mode);说明    access()会检查是否可以读/写某一已存在的文件.参数mode有几种情况组合, R_OK,W_OK,X_OK 和F_OK.R_OK,W_OK与X_OK用来检查文件是否具有读取.写入和执行的权限.F_OK则是用来判断该文件是否存在.由于access()只作权限的核查,并不理会文件形态或文件内容,因此,如果一目录表示为“可写入”,表

刚整了一个数据库操作类,但是可以用吗?

今天闲来无事,把以前自己搞的一个数据库操作类重新整理了一下,把命名规范了一下,位置和功能重新规划了一下. 源代码下载:http://files.cnblogs.com/xiaoshuai1992/xsFrameWork.SqlServer.zip 请先看图片和介绍 DbOperate文件夹 DbAccess类:核心类,运用Ado.net 对数据库进行操作. DbInParameter :传入DbAccess的参数,如参数,sql语句,sp名称,sp是执行还是返回数据. DbOutParamete

thinkphp对mysql的CURD操作

利用thinkphp(3.2.3)来操作数据库,首先要连接数据库.我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库.而model文件就不用自定义,内置的即可解决问题.配置文件写于目录application\home\conf\config.php下: <?php return array( //'配置项'=>'配置值' 'DB_TYPE'=> 'mysql',//数据库类型 'DB_HOST'=> '127.0.0.1',//服务器地址 'DB_N

TableView的动态更新操作(无需重新加载数据源)

项目中我们经常会用到TableView展示一个Cell,Cell的数据来源于我们自定义的一个Model类,那么对于TableView我们有以下几种场景. 1. 添加操作: 在该列表页面顶部有一个按钮叫做新建,点击后进入一个新的添加页面,添加完成之后,返回到列表页更新数据. 2. 更新操作:点击列表中cell进入编辑页面,编辑页面其实就是这个Model类中属性的一个展示,对其中某些属性进行更改后,返回到列表页更新数据. 3. 删除操作:点击列表中cell进入编辑页面,该页面有个删除按钮,点击删除按