码迷,mamicode.com
首页 > 其他好文 > 详细

pdo 事务机制

时间:2017-04-01 15:31:37      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:dbn   content   sql 语句   事务处理   message   toc   cal   ...   html   

<?php
header(‘content-type:text/html;charset=utf-8‘);
$pdo=new PDO(‘mysql:host=localhost;dbname=dbname‘,‘root‘,‘123‘);

$pdo->query(‘set names utf8‘);
$res=$pdo->query(‘select * from table‘);//预处理数据
$data=$res->fetch();//输出数据


$pdo->exec("insert into db_demo(name,content) values(‘title‘,‘content‘)");
// 返回值是影响行数

 

// pdo的事务机制
// 1关闭pdo的自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
// 2开启一个事务需要的方法
$pdo->beginTransaction(); // 开启一个事务
$pdo->commit(); // 提交事务
$pdo->rollback(); // 回滚事务
// 3一般事务处理是运行在 try...catch...语句中,当事务失败时执行 catch 代码段。

 

try {
$pdo->beginTransaction(); // 开启一个事务
$row = null;
$row = $pdo->exec("xxx"); // 执行第一个 SQL
if (!$row)
throw new PDOException(‘提示信息或执行动作‘); // 如出现异常提示信息或执行动作
$row = $pdo->exec("xxx"); // 执行第二个 SQL
if (!$row)
throw new PDOException(‘提示信息或执行动作‘);
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollback(); // 执行失败,事务回滚
exit($e->getMessage());
}
// 事务机制的原理
// 在事务中的 SQL 语句,如果出现错误,那么所有的 SQL 都不执行。当所有 SQL 有无误的时候,才提交执行。
?>

<!-- pdo事务机制 -->
<?php
header(‘content-type:text/html;charset=utf-8‘);
$pdo=new PDO(‘mysql:host=localhost;dbname=text‘,‘root‘,‘123‘);
// $pdo->query(‘set names utf8‘);
// $sql="insert into t1(`name`,`heights`) values(‘路禹真尼玛比帅‘,‘12‘)";
// $pdo->exec($sql);
try {
$pdo->beginTransaction(); // 开启一个事务
$row = null;
$sql="insert into t1(`name`,`heights`) values(‘路禹你最帅‘,‘16‘)";
$sqll="update t1 set name=‘事务机制‘ where id=‘30‘";
$row = $pdo->exec($sql); // 执行第一个 SQL
if (!$row)
throw new PDOException(‘第一个错误‘); // 如出现异常提示信息或执行动作
$rows = $pdo->exec($sqll); // 执行第二个 SQL
if (!$rows)
throw new PDOException(‘第二个错误‘);
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollback(); // 执行失败,事务回滚
exit($e->getMessage());
}
// 事务机制的原理
// 在事务中的 SQL 语句,如果出现错误,那么所有的 SQL 都不执行。当所有 SQL 有无误的时候,才提交执行。


?>

pdo 事务机制

标签:dbn   content   sql 语句   事务处理   message   toc   cal   ...   html   

原文地址:http://www.cnblogs.com/luyu521/p/6655802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!