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 相关文章推荐
在线增减.htpasswd内的用户
Oct 09 PHP
PHP采集腾讯微博的实现代码
Jan 19 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
php四种基础算法代码实例
Oct 29 PHP
Thinkphp中的volist标签用法简介
Jun 18 PHP
PHP的error_reporting错误级别变量对照表
Jul 08 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
php中分页及SqlHelper类用法实例
Jan 12 PHP
利用php获得flv视频长度的实例代码
Oct 26 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
Dec 21 PHP
PHP实现百度人脸识别
May 06 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 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获取程序执行的时间
2013/06/09 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
laravel + vue实现的数据统计绘图(今天、7天、30天数据)
2018/07/31 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
jquery 批量上传图片实现代码
2010/01/28 Javascript
jQuery实现点击该行即可删除HTML表格行
2014/10/17 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
React-Native中禁用Navigator手势返回的示例代码
2017/09/09 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python简单实现enum功能的方法
2016/04/25 Python
django+js+ajax实现刷新页面的方法
2017/05/22 Python
python的移位操作实现详解
2019/08/21 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
土建专业大学生自荐信范文
2014/04/09 职场文书
超市店庆活动方案
2014/08/31 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
营销与策划实训报告
2014/11/05 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
小学运动会开幕词
2015/01/28 职场文书
优秀志愿者感言
2015/08/01 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA