PHP事务数据库写法,PHP 操作 MySQL 执行数据库事务

$mysqli=new mysqli();//实例化mysqli

$mysqli->connect('localhost','root','admin','test');

if(mysqli_connect_error()){

exit('数据库连接错误,错误信息是.'.mysqli_connect_error());

}

$mysqli->set_charset("UTF8");//设置数据库编码

//首先你必须关闭自动提交数据

$mysqli->autocommit(false);

//创建一个SQL语句,必须同时运行成功,不能出现一个成功,一个失败

$sql .= "UPDATE `friend` SET state=state+5 WHERE id=1;";

$sql .= "UPDATE `flower` SET tg_flower=flower-5 WHERE id=1;";

//执行两条SQL语句

if ($mysqli->multi_query($sql)) {

//获取第一条SQL一影响的行数

$success = $mysqli->affected_rows == 1 ? true : false;

//下移,第二条SQL

$mysqli->next_result();

//获取第二条SQL影响的行数

$success2 = $mysqli->affected_rows == 1 ? true : false;

//判断是否都正常通过了,两个SQL

if ($success && $success2) {

$mysqli->commit();

echo '完美提交!';

} else {

$mysqli->rollback();

echo '程序出现异常!';}

} else {

echo "SQL语句有误:".$mysqli->errno.$mysqli->error;

}

//最后还必须开启自动提交

$mysqli->autocommit(true);

$result->free();//释放查询内存(销毁)

$mysqli->close();//别忘了关闭你的"小资源";

?>

【MySQL】数据库事务深入分析

一.前言 只有InnoDB引擎支持事务,下边的内容均以InnoDB引擎为默认条件 二.常见的并发问题 1.脏读 一个事务读取了另一个事务未提交的数据 2.不可重复读 一个事务对同一数据的读取结果前后不 ...

JDBC操作,执行数据库更新操作

目标: 使用Connection对象取得Statement实例 使用Statement进行数据增删改. Statement接口 要对数据库操作,要使用Statement完成.此接口可以使用Connec ...

Python操作MySQL以及数据库索引

目录 python操作MySQL 安装 使用 SQL注入问题 MySQL的索引 为什么使用索引 索引的种类 主键索引 唯一索引 普通索引 索引优缺点 不会命中索引的情况 explain 索引覆盖 My ...

ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

C#实现执行数据库事务案例

我是实际项目来拆出来做的案例,场景是比如我们在做电商网站时,在创建订单时的一系列操作,通常在创建订单时我们需要数据表的操作有:订单的表头(主表).订单的详细.清空购物车.甚至是修改优惠劵的状态(在使用 ...

用JDBC操作MySQL——大量数据库操作时使用批处理提速

之前所有的操作由于数据量很小,所以没有进行批处理的优化,性能也没有出现明显的恶化,但是随着我用java处理数据量的大幅提高,频繁使用静态SQL语句的方法严重降低了处理效率,这里总结一下JDBC批处理的 ...

php操作mysql(数据库常规操作)

php操作数据库八步走 <?php .建立连接 $connection '); .判断连接是否成功 if (mysqli_connect_error() != null) { die(mysql ...

PHP使用mysqli操作MySQL数据库

PHP的 mysqli 扩展提供了其先行版本的所有功能,此外,由于 MySQL 已经是一个 具有完整特性的数据库服务器 , 这为PHP 又添加了一些新特性 . 而 mysqli 恰恰也支持了 这些新特 ...

Jdbc执行存储过程报数据库事务无法执行的异常

Jdbc执行存储过程报数据库事务无法执行的异常 环境: Eclipse+Jdk1.7+spring-jdbc-3.0.7+同版本的jdbctemplate+Sqlserver 2012 问题: 一个小 ...

随机推荐

&lbrack;转&rsqb;使用Jenkins搭建持续集成&lpar;CI&rpar;环境

转自:魔のkyo的工作室 首先从官网http://jenkins-ci.org/下载 Java Web Archive (.war) 例如我保存到 D:\jenkins\jenkins.war 运行J ...

从程序员到CTO的Java技术路线图(我爱分享)

在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平. Java程序员 高级特性 反射.泛型. ...

转-C&num;让枚举返回字符串

下面的手段是使用给枚举项打标签的方式,来返回字符串 下面分别定义一个属性类,和一个枚举帮助类 [AttributeUsage(AttributeTargets.Field,AllowMultiple  ...

对DataTable&lpar;或者DataSet&rpar;修改后,提交修改到数据库

http://blog.csdn.net/nidexuanzhe/article/details/8228832 说明:通常我们在做数据库交互时,并不一定要使用特定的SQL语句来更新数据,.NET F ...

【数据结构】算法 LinkList &lpar;Merge Two Sorted Lists&rpar;

合并2个有序链表 list A, list B, Solution: 对A,B 表按序读取数据,比较大小后插入新链表C. 由于两个输入链表的长度可能不同,所以最终会有一个链表先完成插入所有元素,则直接 ...

20164301 Exp3 免杀原理与实践

Exp3 免杀原理与实践  1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应 ...

迅为-ARM嵌入式开发一体化工业9&period;7寸屏幕 平板式智能触控屏

产品名称:迅为9.7寸IPS高清屏幕 适用于:[iTOP-4412精英版][iTOP-4412全能版][iTOP-4418开发板][迅为-iMX6开发板] 分辨率:1024*768 触摸屏类型:电容屏 ...

TRAC-IK机器人运动学求解器

TRAC-IK和Orocos KDL类似,也是一种基于数值解的机器人运动学求解器,但是在算法层面上进行了很多改进(Specifically, KDL’s convergence algorithms ...

PHP连接Memcache代码

<?php $mem = new Memcache; $mem->connect('127.0.0.1', 11211) or die ("Could not connect&q ...

js两个日期相减

function dateHanle(d1,d2){ if(Date.parse(d1) - Date.parse(d2)==0) { console.log("d1等于d2"); ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值