PHP mysqli事务操作常用方法分析


Posted in PHP onJuly 22, 2017

本文实例讲述了PHP mysqli事务操作常用方法。分享给大家供大家参考,具体如下:

1、

//打开(true)或关闭(false)本次数据库连接的自动命令提交事务模式
//参数如果设置为 FALSE,则表示关闭 auto-commit。如果设置为 TRUE,则表示开启 auto-commit(提交任何等待查询)。
bool mysqli::autocommit ( bool $mode )

2、

//回退当前事务
bool mysqli::rollback ()

3、

//提交一个事务
bool mysqli::commit ()

4、

//关闭先前打开的数据库连接
bool mysqli::close ()

5、

//对数据库执行一次查询
//失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE
//参数$resultmode可选。一个常量。可以是下列值中的任意一个:
//MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)
//MYSQLI_STORE_RESULT(默认)
mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

代码示例:

<?php
$mysqli = new mysqli("127.0.0.1","root","111111","test");
if ($mysqli->connect_errno){
  echo "Failed to connect to MySQL: " . $mysqli->connect_error;
}
//默认auto-commit 是打开的,可直接提交sql语句
$b1 = $mysqli->query("INSERT INTO test (id,name) values (0,'000')");
//若要执行事务,先关闭auto-commit
//关闭 auto-commit
$mysqli->autocommit(false);
$res1 = $mysqli->query("INSERT INTO test (id,n1ame) values (1,'111')");
$b2 = $mysqli->query("INSERT INTO test (id,name) values (2,'222')");
//有一条失败则回滚,全部成功则提交
if(!$res1 || !$b2){
  echo '回滚!';
  $mysqli->rollback();
} else {
  echo '提交!';
  $mysqli->commit();
}
//若想再次自动提交非事务语句,要打开auto-commit
$mysqli->autocommit(true);
$b3 = $mysqli->query("INSERT INTO test (id,name) values (3,'333')");
//关闭连接
$mysqli->close();
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
如何使用PHP中的字符串函数
Oct 09 PHP
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
Jun 29 PHP
php函数与传递参数实例分析
Nov 15 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 PHP
twig模板获取全局变量的方法
Feb 05 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
Yii框架弹出框功能示例
Jan 07 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 PHP
YII2框架中日志的配置与使用方法实例分析
Mar 18 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 #PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 #PHP
PHP编程快速实现数组去重的方法详解
Jul 22 #PHP
php使用ftp实现文件上传与下载功能
Jul 21 #PHP
YII2框架中excel表格导出的方法详解
Jul 21 #PHP
实例讲解YII2中多表关联的使用方法
Jul 21 #PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
Jul 21 #PHP
You might like
法压式咖啡之制作法
2021/03/03 冲泡冲煮
php魔术变量用法实例详解
2014/11/13 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
stripos函数知识点实例分享
2019/02/11 PHP
js同时按下两个方向键
2007/12/01 Javascript
javascript 写类方式之十
2009/07/05 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
javascript闭包的理解
2015/04/01 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
react-router-dom 嵌套路由的实现
2020/05/02 Javascript
详细介绍Python语言中的按位运算符
2013/11/26 Python
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
pandas DataFrame数据转为list的方法
2018/04/11 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
python 实现UTC时间加减的方法
2018/12/31 Python
Python递归函数实例讲解
2019/02/27 Python
python的re模块使用方法详解
2019/07/26 Python
python编写俄罗斯方块
2020/03/13 Python
CSS教程:CSS3圆角属性
2009/04/02 HTML / CSS
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
党员培训思想汇报
2014/01/07 职场文书
企业员工集体活动方案
2014/08/17 职场文书
公司离职证明标准样本
2014/10/05 职场文书
怎样写辞职信
2015/02/27 职场文书
军训通讯稿范文
2015/07/18 职场文书
学校教师培训工作总结
2015/10/14 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书