当前位置:  编程技术>php

PHP中执行MYSQL事务解决数据写入不完整等情况

    来源: 互联网  发布时间:2014-08-26

    本文导语:  近来稍有时间研究了下MYSQL中的事务操作,在很多场合下很是适用,譬如在注册的时候需要初始化很多张关联表的时候,问答回复的时候需要至少同时操作两张表,这些都会在某些时候只能成功更新一张表,而另外的SQL语句出...

近来稍有时间研究了下MYSQL中的事务操作,在很多场合下很是适用,譬如在注册的时候需要初始化很多张关联表的时候,问答回复的时候需要至少同时操作两张表,这些都会在某些时候只能成功更新一张表,而另外的SQL语句出现错误,正常的操作会导致初始化了一张表 ,其他的都木有能初始化,这个时候就会导致用户表里的用户信息已经执行插入,导致提示注册失败,但是用户已经注册了部分信息,这个时候需要程序员去数据库删除相应的数据是一个比较不好的事情。

因此这边考虑使用事务,事务可以进行模拟SQL操作,当所有的SQL都操作成功的时候才进行SQL操作,只要有一个操作失败就回滚当前事务的所有SQL操作,避免出现上面描述中出现的数据写入不完整等情况。

下面是鄙人写的一小段代码,欢迎大家参考和提出意见:
代码如下:

/**
* @todo 多条sql的事务处理
* @param $sqls array
* @return boole true/false
*/
public function doArraySqlActionsTran($password,$sqls){
$db = $this -> doSqlLink($password);//打开数据库链接
$db -> autocommit(FALSE);//设置为不自动提交,因为MYSQL默认立即执行
//获取SQL执行结果数组
for ($i=0;$i query($sqls[$i]);
}
//解析SQL执行结果数组
for ($j=0;$j rollback();//判断当执行失败时回滚
$return=FALSE;// 正式环境中使用
//$return='ROOLBACK';//test 标记使用
}else{
$db -> commit();//执行事务s
$return=TRUE;// 正式环境中使用
//$return='COMMIT';//test 标记使用
}
$db->autocommit(true); //设置为非自动提交——事务处理
$db->close();//关闭连接
return $return;
}

到此事务执行批量SQL操作基本完成,谢谢大家!

    
 
 

您可能感兴趣的文章:

  • php文件锁定写入实例教程
  • PHP文件锁定写入实例解析
  • php测试硬盘写入速度
  • PHP读取与写入文件小例子
  • 使用php测试硬盘写入速度示例
  • php文件锁定写入实例解析
  • 远程linux主机上,php 无法创建写入文件
  • php读取csv、写入csv与导出csv文件
  • Php连接及读取和写入mysql数据库的常用代码
  • php操作XML、读取数据和写入数据的实现代码
  • php把session写入数据库的类
  • php把session写入数据库示例
  • 如何使用crontab来定时执行一个.php的程序
  • 执行PHP代码的虚拟机 HHVM
  • PHP异步执行技巧分享
  • centos服务器定时执行一段php代码
  • PHP如何设置页面最大执行时间
  • php trim函数执行过程解析
  • 求高手给写一个bash脚本,功能很简单,就是去执行某一个php脚本
  • 计算php脚本执行时间的示例代码
  • 命令方式下执行php 可以用类吗?
  • PHP异步执行模拟多线程的方法
  • win7计划任务定时执行PHP脚本设置图解
  • 网络技术 iis7站长之家
  • nginx禁止dedecms目录php执行权限
  • PHP服务器端异步执行方法解析
  • PHP代码执行效率评测 Ubench
  • PHP执行时间函数 ini_set与max_execution_time
  • php计算当前程序执行时间示例
  • php 伪异步执行实现方法
  • php实现执行某一操作时弹出确认、取消对话框
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php事务处理实例详解
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • IIS7配置PHP图解(IIS7+PHP_5.2.17/PHP_5.3.5)
  • PHP 5.4.19 和 PHP 5.5.3 发布及下载地址
  • php输入流php://input使用示例(php发送图片流到服务器)
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • PHP转换器 HipHop for PHP
  • PHP去除html标签,php标记及css样式代码参考
  • PHP 框架 Pop php
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • PHP的JavaScript框架 PHP.JS
  • php通过socket_bind()设置IP地址代码示例
  • php服务器探针显示php服务器信息
  • php安装完成后如何添加mysql扩展
  • PHP缓存加速器 Alternative PHP Cache (APC)
  • PHP的substr() 函数用法
  • PHP源文件加密工具 PHP Screw
  • PHP介绍及学习网站推荐
  • PHP自动化测试 PHP-QAT
  • php中操作memcache的类及成员列表及php下如何连接memched服务器
  • PHP 的 HTTP 客户端库 PHP Buzz
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • PHP 调试工具 PHP_Dyn


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3