发布于 2014-08-22 15:28:07 | 608 次阅读 | 评论: 0 | 来源: 网友投递
replace方法:有三种调用方式
1、一次性批量替换字段的数据:五个参数
replace($table, $column, $search, $replace, $where)
第一个需要传入的参数为字符串:String,即为要进行操作的数据表名
第二个需要传入的参数为字符串或数组:String/array(),即为要进行操作的字段名,单个字段为String,多个字段为array()
第三个需要传入的参数为字符串:String,即为准备要进行替换的内容
第四个需要传入的参数为字符串:String,即为要被批量替换为的内容
第五个需要传入的参数为数组:array(),即为where条件,可不写
例:
$database->replace("account", "type", "user", "new_user", array(
"user_id[>]" => 1000
));
以上代码会将account表中user_id大于1000的所有type字段里user替换为new_user,等同于SQL语句:
UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user') WHERE `user_id` > 1000
2、多次批量替换字段的数据:四个参数
replace($table, $column, $replacement, $where)
第一个需要传入的参数为字符串:String,即为要进行操作的数据表名
第二个需要传入的参数为字符串或数组:String/array(),即为要进行操作的字段名,单个字段为String,多个字段为array()
第三个需要传入的参数为字符串:array(),即为准备要进行替换和要被批量替换为的内容,数组的键为:准备要进行替换的,值为:要被批量替换为的
第四个需要传入的参数为数组:array(),即为where条件,可不写
例:
$database->replace("account", "type", array(
"user" => "new_user",
"business" => "new_business"
), array(
"user_id[>]" => 1000
));
以上代码会针对字段的内容逐步进行多次替换,本例将account表中user_id大于1000的所有type字段里user替换为new_user,然后再将所有type字段里的business替换为new_business,等同于SQL语句:
UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user'), type = REPLACE(`type`, 'business', 'new_business') WHERE `user_id` > 1000
3、多次批量替换字段的数据:三个参数
replace($table, $column, $where)
这个方法可以说是第二种方法的简写,易读性更强,它将第二种方法中的,字段名、要进行替换和要被批量替换为的内容压缩到一个二维数组中
第一个需要传入的参数为字符串:String,即为要进行操作的数据表名
第二个需要传入的参数为字符串或数组:array(),即为字段名、要进行替换和要被批量替换为的内容,字段名为一维数组的键,一维数组字段名的键所对应的值,是要进行替换和要被批量替换为的内容组成的一个数组,而这个数组中,要进行替换的内容为键,要被批量替换为的内容为值,它们组成一个二维数组
第三个需要传入的参数为数组:array(),即为where条件,可不写
例:
$database->replace("account", array(
"type" => array(
"user" => "new_user",
"business" => "new_business"
),
"groups" => array(
"groupA" => "groupB"
)
), array(
"user_id[>]" => 0
));
以上代码会针对字段的内容逐步进行多次替换,是第二种方法的一个简化写法,可提高阅读性,本例将account表中user_id大于0的所有type字段里user替换为new_user,然后将所有type字段里的business替换为new_business,再将所有groups字段里的groupA替换为groupB,等同于SQL语句:
UPDATE `account` SET type = REPLACE(`type`, 'user', 'new_user'), type = REPLACE(`type`, 'business', 'new_business'), groups = REPLACE(`groups`, 'groupA', 'groupB') WHERE `user_id` > 0