腾讯云618限量抢购
  1. PHP基础教程
  2. PHP+MySQL数据库教程

ThinkPHP setField 方法更新个别字段的值

最后更新:2011-03-22 02:19阅读:94826

setField()

ThinkPHP setField() 方法用于更新个别字段的值。

例子:

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

    $result = $Dao->where('uid = 2')->setField('email','Jack@163.com');

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '没更新任何数据!';
    }
}

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

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

更新多个字段

setField() 方法支持同时更新多个字段,只需要传入数组参数即可:

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

    $result = $Dao->where('uid = 28')->setField(array('username','email'),array('Jack','Jack@163.com'));

    if($result !== false){
        echo '数据更新成功!';
    }else{
        echo '没更新任何数据!';
    }
}

提示

setField() 方法的语法为:

setField(fields, value, condition='')

因此 setField() 不可以像 save() 方法一样,以构造数据数组的方式传入 setField(),而需要将需要更新的字段与值分别传入 setField() 方法中。

参考阅读

  1. MySQL Update Set 更新数据
  2. ThinkPHP getField():获取某个字段的值或多个字段的索引数组
  3. ThinkPHP getBy动态查询

本章节内容共分 3 部分:
  1. 1. ThinkPHP 更新数据 save方法
  2. 2. ThinkPHP setField 方法更新个别字段的值
  3. 3. ThinkPHP 统计数据(数字字段)更新 setInc 与 setDec 方法
腾讯云618限量抢购