Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php 怎么使用Mysql事务实例代码

php 怎么使用Mysql事务实例代码

怪我咯
怪我咯asal
2017-07-23 13:32:582567semak imbas

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!这篇文章主要介绍了PHP使用Mysql事务的用法,是PHP数据库程序设计中非常重要的实用操作技巧,需要的朋友可以参考下

具体实例如下所示:

<?php
//数据库连接
$conn = mysql_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;&#39;);
mysql_select_db(&#39;test&#39;, $conn);
mysql_query("SET NAMES GBK");

/*
支持事务的表必须是InnoDB类型
一段事务中只能出现一次:
mysql_query(&#39;START TRANSACTION&#39;);//开始事务
mysql_query(&#39; ROLLBACK &#39;);//回滚事务
mysql_query(&#39;COMMIT&#39;);//提交事务

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

$ins_testTable1 = "INSERT INTO testtable1(NAME,age)VALUES(&#39;first&#39;,23)";
if(!mysql_query($ins_testTable1)){
  $isBad =1;
}
//插入语句字段名有错
$ins_testTable2 = "INSERT INTO testtable1(NAME,ages)VALUES(&#39;second&#39;,&#39;24&#39;)";
if(!mysql_query($ins_testTable2)){
  $isBad =1;
}
if($isBad == 1){
  echo $isBad;
  mysql_query(&#39;ROLLBACK &#39;);
}
mysql_query(&#39;COMMIT&#39;);
mysql_close($conn);
?>

Atas ialah kandungan terperinci php 怎么使用Mysql事务实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn