首页
社区
文档
日志
登入
注册
文 档
开始
目录结构
配置文件
常量
视图
控制器
文件上传
自动加载类文件
路由
图片验证码
函数
缓存
数据模型
基本操作
数据添加
数据删除
数据更新
数据查询
where条件
自动验证
数据分页
子查询
原生SQL语句的使用
数据缓存
连接Sqlite
内 文 索 引
## 数据更新 返回受影响行数 ## 1. save($arr) save( ) 方法会首先检查自定义的自动验证规则 如果验证失败则可通过 $m->getError() 来获取错误信息 自动验证的使用请参照自动验证章节 $m = M('User'); $where = ['id'=>10]; //where 条件指定要修改的数据 $info = ['name'=>'张三','age'=>'18','sex'=>'男']; //准备数据(数组键名对应数据表的字段名) $m->where($where)->save($info); //修改数据(存在用户自定义模型并且定义了验证规则时执行自动验证) ## 2. update($arr) update( ) 直接更新数据,不验证规则 如果验证失败则可通过 $m->getError() 来获取错误信息 自动验证的使用请参照自动验证章节 $m = M('User'); $where = ['id'=>10]; //where 条件指定要修改的数据 $info = ['name'=>'张三','age'=>'18','sex'=>'男']; //准备数据(数组键名对应数据表的字段名) $m->where($where)->update($info); //修改数据(不执行自动验证) ## 3. 需要使用字段值的情况: $m = D('User'); $where = ['id'=>10]; $info = ['age'=>'{age}+8']; //被{}包裹的age代表使用该字段自身的值 $m->where($where)->save($info); >## 安全过滤 >**参照数据添加** >save()或update()传入第二个参数 false 程序不进行安全过滤,默认是 true 执行安全过滤 ## 4. 单独更新某一字段 setField($name,$value) $m = D('user'); $where = ['id'=>10]; $m->where($where)->setField('age',18); //将 age 字段值设为 18 ## 5. 字段自增,自减,自乘以,自除以 $m = D('user'); $where = array('id'=>10); $m->where($where)->setInc('age'); //'age'字段的值+1 $m->where($where)->setInc('age',8); //'age'字段的值+8 $m->where($where)->setDec('age'); //'age'字段的值-1 $m->where($where)->setDec('age',8); //'age'字段的值-8 $m->where($where)->setMul('age'); //'age'字段的值乘2 $m->where($where)->setMul('age',8); //'age'字段的值乘8 $m->where($where)->setDiv('age'); //'age'字段的值除2 $m->where($where)->setDiv('age',8); //'age'字段的值除8 ## 6. ifInsert() >有则更新无则添加,详见数据添加