欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP中的事务使用实例

程序员文章站 2023-08-15 11:07:43
<?php
//数据库连接
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('test', $conn);
mysql_query("set names gbk");

/*
支持事务的表必须是innodb类型
一段事务中只能出现一次:
mysql_query('start transaction');//开始事务
mysql_query(' rollback ');//回滚事务
mysql_query('commit');//提交事务

如果一段事务中出现多次回滚事务,则在,提交事务时只将第一次回滚前至开始事务后对数据库的所有操作取消,第一次回滚后至提交事务前所有对数据库操作仍将有效,所以一般将回滚语句仅放在提交事务语句前
如果一段事务无提交语句,则从开始事务时以下的所有对数据库操作虽执行(执行方法返回对错),但对数据库无影响,但是在执行下段开始事务语句时,前段事务自动提交
*/
mysql_query('start transaction');
$isbad = 0;

$ins_testtable1 = "insert into testtable1(name,age)values('first',23)";
if(!mysql_query($ins_testtable1)){
  $isbad =1;
}
//插入语句字段名有错
$ins_testtable2 = "insert into testtable1(name,ages)values('second','24')";
if(!mysql_query($ins_testtable2)){
  $isbad =1;
}
if($isbad == 1){
  echo $isbad;
  mysql_query('rollback ');
}
mysql_query('commit');
mysql_close($conn);
?>