1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<?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 );
?>
|
相关文章
- PHP 使用 mcrypt 扩展中的 mcrypt_encrypt() 和 mcrypt_decrypt() 对数据进行加密和解密
- 使用php运行控制台应用程序的多个实例
- 如何模仿静态库但使用DLL的“应用程序中的全局变量的多个实例”行为?
- 如何设置PHP + xDebug + (x)单元+ Eclipse来使用单元测试中的断点?
- 使用PDT / Netbeans中的类自动完成PHP对象?
- php实例根据ID删除mysql表中的数据
- Java算法之递归打破及在真实项目中的使用实例
- php中的echo,json_decode,json_encode常用函数使用注意事项
- 免费手机号码归属地API查询接口和PHP使用实例分享
- php cookie 详解使用实例