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 相关文章推荐
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
Apr 12 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
May 11 PHP
php采集中国代理服务器网的方法
Jun 16 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
php封装的连接Mysql类及用法分析
Dec 10 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
Jul 08 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
php中请求url的五种方法总结
Jul 13 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 PHP
PHP程序员必须知道的两种日志实例分析
May 14 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
PHP中实现进程间通讯
2006/10/09 PHP
php中socket通信机制实例详解
2015/01/03 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
简明json介绍
2008/09/28 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
script标签属性用type还是language
2015/01/21 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
jQuery操作cookie
2016/08/08 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
Vue中的Vux配置指南
2017/12/08 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
python实现统计代码行数的方法
2015/05/22 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
使用Python对SQLite数据库操作
2017/04/06 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
python正则表达式面试题解答
2020/04/28 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
中国医药集团国药在线:国药网
2017/02/06 全球购物
《蓝色的树叶》教学反思
2014/02/24 职场文书
2015年药房工作总结
2015/04/25 职场文书
政协常委会议主持词
2015/07/03 职场文书
家长会后的感想
2015/08/11 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers