您的位置:首页 > 编程语言 > PHP开发

php中对MYSQL操作之事务控制,回滚

2015-11-01 20:41 561 查看
<?php  

//事务控制,回滚  

  

//创建一个mysqli对象  

$mysqli = new MySQLi("主机名","mysql用户名","密码","数据库名");  

  

//判断是否链接成功  

if($mysqli->connect_error){  

    die($mysqli->connect_error);  

}  

//由于在事务提交中系统默认提交,故这里设置为FALSE先不提交  

$mysqli->autocommit(false);  

  

//其实这里系统已经相当在这里做个保存点,记录此时所有状态,回滚是回滚到这里  

//$mysqli->savepoint a;  

  

//写出对数据库的操作语句  

$sql1 = "insert into 表名 (字段名) values (对应字段的值)";  

$sql2 = "update 表名 set 字段名=值 where 条件";  

$sql3 = "delete from 表名 where 条件";  

  

//执行sql语句  

$res1 = $mysqli->query($sql1) or die ($mysqli->error);  

$res2 = $mysqli->query($sql2) or die ($mysqli->error);  

$res3 = $mysqli->query($sql3) or die ($mysqli->error);  

  

//判断是否都执行成功  

if(!$res1||!$res2||!$res3){  

    //只要有一条失败便回滚,都不执行,若设置滚回点,如a,加个参数a变滚回到a处  

    $mysqli->rollback();  

}else{  

    //一旦提交无法回滚,成功则提交  

    $mysqli->commit();  

}  

  

//关闭资源  

$musqli->close();  

?>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: