以PostgreSQL为例,其它的数据库要视情况而定,因为有些数据库本身就不支持事务
<?php
$query="INSERT INTO tablename(id,name) values(123,'name') "; pg_exec("BEGIN WORK");
$result=pg_exec($dblink,$query);
if (!$result || pg_cmdtuples($result)< 1) {
pg_exec("ROLLBACK");
echo "<p><font size='+3' color='#ff0000'>操作失败!<br>请检查数据输入是否正确".pg_errormessage($dblink)."</font></p>";
echo "<a href=return.php>返回</a>";
exit();}
else{
pg_exec("COMMIT");
echo "<p><font size='+3' color='#0000ff'>操作成功!</font></p>";
echo "<a href=return.php>返回</a>";
}
?>
<?php
$query="INSERT INTO tablename(id,name) values(123,'name') "; pg_exec("BEGIN WORK");
$result=pg_exec($dblink,$query);
if (!$result || pg_cmdtuples($result)< 1) {
pg_exec("ROLLBACK");
echo "<p><font size='+3' color='#ff0000'>操作失败!<br>请检查数据输入是否正确".pg_errormessage($dblink)."</font></p>";
echo "<a href=return.php>返回</a>";
exit();}
else{
pg_exec("COMMIT");
echo "<p><font size='+3' color='#0000ff'>操作成功!</font></p>";
echo "<a href=return.php>返回</a>";
}
?>
把需要处理的代码都放在这两句话之间就行
$conn->StartTrans();
//需要事务处理的代码
$conn->CompleteTrans();