{"id":221,"title":"php+pdo+transaction(\u4e8b\u52a1)","good":0,"bad":0,"hit":1356,"created_at":"2016-04-26 00:08:34","content":"
\u4e00\u4e2a\u7b80\u5355\u7684\u4f8b\u5b50\uff0cpdo\u8fde\u63a5\u6570\u636e\u5e93\uff0c\u5e76\u542f\u7528\u4e8b\u52a1(\u8868\u5f15\u64ce\u5fc5\u987b\u4e3ainodb)
<\/p>
<?php
$dsn = "mysql:host=localhost;dbname=test";
$db = new PDO($dsn, 'root', '');
$db->beginTransaction();
$ok1=$ok2=false;
$sql1="insert into t1(`orderid`) values('2222')";
$sql2="insert into t2(`orderid1`) values('2222')";
if($db->exec($sql1)){$ok1=true;};
if($db->exec($sql2)){$ok2=true;};
if($ok1&&$ok2){
$db->commit();
}else{
rizhi($sql1,$sql2);
$db->rollBack();
}
$sql3="insert into t1(`orderid`) values('3333')";
$sql4="insert into t2(`orderid2`) values('4444')";
$db->exec($sql3);
$db->exec($sql4);
function rizhi($sql1,$sql2){
$data=date('Ymd H:i:s')."\\r\\n".$sql1."\\r\\n".$sql2."\\r\\n";
$fp=fopen('a.txt','a+');
fwrite($fp, $data);
fclose($fp);
}
?><\/p>"}