PHP使用Mysql事务实例解析

yipeiwu_com5年前Mysql基础

本文实例讲解了PHP使用MySQL事物的实例,并备有注释加以详细说明。分享给大家供大家参考之用。

具体实例如下所示:

<?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+MySQL程序设计的学习有所帮助。

相关文章

mysqli扩展无法在PHP7下升级问题的解决

mysqli扩展无法在PHP7下升级问题的解决

前言 这几天在想部署一个OAuth服务,找了一个PHP的开源实现,由于要求的PHP版本比较高,就打算在自己的ECS上(PHP7.1)先测试下,没想到遇到了一些问题。 首先发现mysqli...

php使用指定编码导出mysql数据到csv文件的方法

本文实例讲述了php使用指定编码导出mysql数据到csv文件的方法。分享给大家供大家参考。具体实现方法如下: <?php /* * PHP code to expo...

PHP+mysql+ajax轻量级聊天室实现方法详解

PHP+mysql+ajax轻量级聊天室实现方法详解

本文实例讲述了PHP+mysql+ajax轻量级聊天室实现方法。分享给大家供大家参考,具体如下: 做了一个QQ聊天交友网站,想加个聊天的功能,于是做完用PHP做了简单又强大的聊天室 1....

mysql建立外键

建立外键的前提:本表的列必须与外键类型相同(外键必须是外表主键)。 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: f...

PHP持久连接mysql_pconnect()函数使用介绍

mysql_pconnect在单一进程,特别是一直保持执行的监控程序,特别适用。 mysql_pconnect用法和mysql_connect类似: 复制代码 代码如下: <?ph...