第8讲:mysqli批量执行和事务控制_第8章事务与并发控制

其他范文 时间:2020-02-28 20:02:39 收藏本文下载本文
【www.daodoc.com - 其他范文】

第8讲:mysqli批量执行和事务控制由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“第8章事务与并发控制”。

批量执行sql语句

①批量执行dml语句 ②批量执行dql语句

批量执行dml语句 1.基本语法

$sqls=”sql1;sql2;sql3…”

mysqli::multi_query($sqls);

注:$sqls=”insert into #1;”;$sqls.=”insert into #2;”;$sqls.=”insert into #3;”;

注意;与.的使用

批量执行dql语句(可以一次性的取回多个结果集)1.步骤:

①实例化对象②批量查询③处理结果④关闭资源

2.代码

$sqls=“select * from words;”;

//22222 $sqls.=“select * from msg”;

//22222 //如果成功,则至少有一个结果集

if($res=$mysqli->multi_query($sqls)){

//33接受并处理多个结果集

do{

$result=$mysqli->store_result();

while($row=$result->fetch_row()){

foreach($row as $key =>$val){

echo “--$val”;

}

echo“”;

}

$result->free();

//4444 处理资源

if(!$mysqli->more_results()){

break;

}

echo “********新的结果集**********”;

}while($mysqli->next_result());} ?> 注:

1.因为有多个结果集,所以处理时,先对结果集作循环;再对单个结果集中的行内容作循环。

事务处理(保证数据的一致性)1.事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的的dml语句要么全部成功,要么全部失败。

2.connect_error){

die($mysqli->connect_error);}

$mysqli->autocommit(false);

$sql1=“update account set balance=balance-2 where id=1”;$sql2=“update account set balance=balance+2 where id=2”;

$b1=$mysqli->query($sql1);$b2=$mysqli->query($sql2);

if(!$b1||!$b2){

echo “失败,回滚”.$mysqli->error;

//回滚

$mysqli->roolback();}else{

echo “成功”;

$mysqli->commit();//此处提交了就不能再回滚

}

$mysqli->close();?>

3.在mysqli 控制台也可以使用事务操作,具体步骤如下: ①开启一个事物

start transaction ②作保存点(不作保存点的话,默认事务开始为保存点).savepoint 保存点名称 ③操作…

④可以回滚,也可以提交

Ⅰ.如果没有问题就提交: commit Ⅱ.有问题,就回滚: rollback to 保存点.4.事物的4大特点:acid

①原子性:指事务是一个不可分割的工作单位,事务要么都发生,要么都不发生 ②一致性:事务必须使数据库一个一致性状态交换到另外一个一致性状态

③隔离性:数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。

④持久性:一个事务一旦被提交,它对数据库中数据的改变就是永久性的。

下载第8讲:mysqli批量执行和事务控制word格式文档
下载第8讲:mysqli批量执行和事务控制.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文