php一次更新多条数据,php一次执行多条sql

thinkphp 请问怎样才能一次性更新很多条数据

第一种就是根据事务来实现这个功能,多条更新用事务来实现和回滚

成都创新互联公司自2013年创立以来,先为饶河等服务建站,饶河等地企业,进行企业商务咨询服务。为饶河企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

第二种 就是循环更新了,这个不需要数据一致性,即其中一条语句更新失败 不影响其他数据,建议还是用事务

Thinkphp怎么批量更新数据

thinkphp批量更新数据可以参考如下三种方法:

方法一:

//批量修改 data二维数组 field关键字段 参考ci 批量修改函数 传参方式

function batch_update($table_name='',$data=array(),$field=''){

if(!$table_name||!$data||!$field){

return false;

}else{

$sql='UPDATE '.$table_name;

}

$con=array();

$con_sql=array();

$fields=array();

foreach ($data as $key = $value) {

$x=0;

foreach ($value as $k = $v) {

if($k!=$field!$con[$x]$x==0){

$con[$x]=" set {$k} = (CASE {$field} ";

}elseif($k!=$field!$con[$x]$x0){

$con[$x]=" {$k} = (CASE {$field} ";

}

if($k!=$field){

$temp=$value[$field];

$con_sql[$x].= " WHEN '{$temp}' THEN '{$v}' ";

$x++;

}

}

$temp=$value[$field];

if(!in_array($temp,$fields)){

$fields[]=$temp;

}

}

$num=count($con)-1;

foreach ($con as $key = $value) {

foreach ($con_sql as $k = $v) {

if($k==$key$key$num){

$sql.=$value.$v.' end),';

}elseif($k==$key$key==$num){

$sql.=$value.$v.' end)';

}

}

}

$str=implode(',',$fields);

$sql.=" where {$field} in({$str})";

$res=M($table_name)-execute($sql);

return $res;

}

//测试

function test(){

$update_array=array();

for ($i=2; $i 7 ; $i++) {

$data=array();

$data['id']=$i;

$data['memeber_type']=2;

$data['memeber_type_state']=1;

$update_array[]=$data;

}

$res=$this-batch_update('yl_member',$update_array,id);

var_dump($res);

}

thinkphp如何同时更新多条数据

可以同时更新内容相同的记录,比如id=1、2、3的记录的状态都改为0;那么可以使用$db-where("id in(1,2,3)")-save(array('status'=0));

求助:用php一次更新10万条记录怎么办

检查下 php.ini 文件中的限制

upload_max_filesize

post_max_size

如果超出你提交的文件大小,就改大一些

改了之后重启 apache!

php如何用update更新多条数据

楼主贴出的代码是主要代码不是完整代码,以下是对你贴出代码的修改,接收数组并批量更新

接收数据格式形如:

array(

0=array(

'id' = 1,

'title'= '标题1'

'url'= '...'

),

1=array(

'id' = 1,

'title'= '标题1'

'url'= '...'

),

)

注意在原来的基础上加了更新条件id,不加的话是会更新全部的。

A页面代码:

?php

$exec="select * from focusimg";

$result = mysql_query($exec,$link);

$i=0;

while($pt=mysql_fetch_array($result)){

?

tr onmouseover="this.className='admTr'" onmouseout="this.className=''"

td width="17%" align="right"标题?php echo $pt['id']; ?:input name="?php echo "focusimg[$i][id]"; ?" value="?php echo $pt['id']; ?" type="hidden"//td

tdinput name="?php echo "focusimg[$i][title]"; ?" type="text" id="textfield" value="?php echo $pt['title'];?" size="30" //td

td width="17%" align="right"链接?php echo $pt['id']; ?:/td

tdinput name="?php echo "focusimg[$i][url]"; ?" type="text" id="textfield" value="?php echo $pt['url'];?" size="30" / /td

/tr

?php

$i++;

};

?

B页面代码:

?php

include 'conn.php';

$focusimg=$_POST['focusimg'];

foreach($focusimg as $k=$v) {

$exec="update chips set title='{$v[title]}',url='{$v[url]}' where id='{$v[id]}'";

mysql_query($exec, $link);

}

mysql_close($link);

echo "edit OK!";

?

分享名称:php一次更新多条数据,php一次执行多条sql
网站网址:https://www.cdcxhl.com/article6/hspeig.html

成都网站建设公司_创新互联,为您提供网站内链服务器托管企业网站制作网站建设软件开发品牌网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都做网站