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();
?>
//事务控制,回滚
//创建一个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();
?>
相关文章推荐
- php mysql事务处理回滚操作
- FTP上传助手1.1 [免费版]
- PHP之闭包详解
- php面向对象(二)
- php面向对象(一)
- PHP实现QQ快速登录
- laravel中ubuntu下执行php artisan migrate总是报错
- php实战之使用递归读取商品无限分类
- vsftpd说明,有用,转了
- PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
- 重读php文档
- ThinkPHP学习实践(二)单字母函数用法
- DATASNAP中间件调用带OUTPUT参数的存储过程
- 关于php的register_globals和magic_quotes_gpc参数配置
- OS X 10.11下PHPstorm php-cgi not found 并且访问项目目录502
- phpstrom+xdebug 配置
- 关于php-echo原理
- sae中配置weiphp,修复图片上传问题
- PHP命名空间解析规则
- 对于zendframework2的路由配置的说明