您的位置:首页 > 其它

PDO事务处理

2015-09-29 23:47 393 查看
<?php
// beginTransaction();
// commit();
// rollBack();
try{
$pdo = new PDO("mysql:host=localhost;dbname=test;","root","");
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
die("database connect fail".$e->getMessage());
}

/*
try{
$pdo->beginTransaction();
$sql = "insert into users(id,name,age) values(?,?,?)";
$stmt = $pdo->prepare($sql);

$stmt->execute(array(null,"test4",11));
$stmt->execute(array(null,"test2",11));
$stmt->execute(array(null,"test3",11));

$pdo->commit();

}catch(PDOException $e){
die("run fail".$e->getMessage());
$pdo->rollback();
}
*/

$pdo->beginTransaction();
$sql = "insert into users(id,name,age) values(?,?,?)";
$stmt = $pdo->prepare($sql);
$datalist = array(
array(null,"test6",11),
array(null,"test7",11),
array(null,"test8",11),
);
$isCommit = true;

foreach($datalist as $data){
$stmt->execute($data);
if($stmt->errorCode()>0){
$pdo->roolback();
$isCommit = false;
break;
}
}

if($isCommit){
$pdo->commit();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: