PHP 处理 MySQL INNODB 事务回滚(ThinkPHP、MySQL、PDO)
2017-08-25 18:22
1111 查看
参考文档 http://liuxufei.com/weblog/jishu/971.html
2、MySQL 原生事务回滚
3、PDO 事务回滚
<?php $tranDb = new Model(); // 启动事务 $tranDb->startTrans(); // 准备数据 $sql = array('aaa' => 1); $res1 = $tranDb->table(C('DB_PREFIX').'user_count')->where('uid = 1')->save($sql); $res2 = $tranDb->table(C('DB_PREFIX').'hotel_order')->where('orderid = 1000')->save(array('status' => 1)); if ($res1 && $res2) { // 提交事务 $tranDb->commit(); echo '<div style="color:blue;">成功</div>'; } else { // 事务回滚 $tranDb->rollback(); echo '<div style="color:red;">失败</div>'; }
2、MySQL 原生事务回滚
<?php $conn = mysql_connect('127.0.0.1', 'root', 'root'); mysql_select_db('shop_test'); mysql_query('SET NAMES UTF8'); # 开启事务 mysql_query("START TRANSACTION"); $sql1 = "INSERT INTO `user_order` VALUES ('1', 'luchanghong', '10', '2')"; $sql2 = "UPDATE `user_account` SET `money` = `money` - 10*2 WHERE `user` = 'luchanghong'"; $res1 = mysql_query($sql1); $res2 = mysql_query($sql2); // if (mysql_errno()){ if ($res1 && $res2){ // 提交事务 mysql_query('COMMIT'); echo "成功"; }else{ // 事务回滚 mysql_query('ROLLBACK'); echo "失败"; }
3、PDO 事务回滚
<?php try { $dsn = 'mysql:dbname=sunyang;host=localhost'; $user_name = 'root'; $user_psw = 'root'; $pdo = new PDO($dsn, $user_name, $user_psw); //开始事务 $pdo->beginTransaction(); $pdo->exec('update employee set emp_age=28 where emp_id=3'); $pdo->exec('delete from employee where emp_id=2'); //提交事务 $pdo->commit(); } catch (Exception $e) { //回滚事务 $pdo->rollBack(); echo $e->getMessage(); }
相关文章推荐
- PHP PDO事务处理及MYSQLengine=InnoDB
- php利用pdo进行mysql的事务处理机制
- thinkphp 的事务回滚处理 和 原始PHP的事务回滚实例
- php事务处理mysql与PDO实例
- 解析php mysql 事务处理回滚操作(附实例)
- ThinkPHP实现事务回滚示例代码(附加:PDO的事务处理)
- php利用pdo进行mysql的事务处理机制
- PHP中PDO的MYSQL事务处理实例
- PHP中PDO的MYSQL事务处理实例
- PHP中PDO的MYSQL事务处理实例
- 解析php mysql 事务处理回滚操作(附实例)
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
- 解析php mysql 事务处理回滚操作
- 解析php mysql 事务处理回滚操作(附实例)
- 跟着百度学PHP[14]-PDO之Mysql的事务处理1
- 解析php mysql 事务处理回滚操作(附实例)
- php+Mysqli利用事务处理转账问题实例
- PHP的事务处理 MYSQL
- php+mysql实现事务回滚
- PHP下MYSQL的事务处理