当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-01-25 22:43:00  来源:本站整理

<b>用新的PHP插件实现MySQL为底子的事件</b>[MySQL防范]

赞助商链接



  本文“<b>用新的PHP插件实现MySQL为底子的事件</b>[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
 

事件处理支持很长时间以来一向是大大都MySQL开辟者的心愿,随着MySQL 4.0的公布,这个心愿最后终于得以实现.MySQL 4.0后不久,拥有一个新的MySQL插件的PHP 5.x也公布了.这个新插件,MySQL Improved,使得PHP开辟者通过操纵本地的PHP函数,得到了这些新的事件处理本领.这篇简短的教程将向你阐明怎样操纵这些新的MySQLi函数,用PHP实现以MySQL为底子的事件.

概要

假如你还不知道,那么我可以奉告你,事件只是一组SQL语句,普通因为它们是相彼此互依靠的,所以要在全有或全无(all-or-nothing)的情势下履行.只有当全部构成的语句都履行成功了,一个事件才算是成功了;任何一个语句中的失利应当城市招致系统“回滚”到它先前的状况,以避免数据衔接/崩溃问题.

关于这一点,两个银行帐户间的转帐是一个很好的例子.在数据库级,这样的转帐包含两个步骤:首先,从源帐户中扣除转帐的金额,然后将其加到目标帐户中.假如在第二步中发生了错误,那么第一步就必须被撤消,以避免不符合的情形(和愤恨的客户聚众惹事).事件安全系统将自动地撤到系统先前的“快照”.

大大都数据库(包含MySQL)通过一个号令的组合来完成这个:

* START TRANSACTION号令标志着一个新的事件组的开始.它背面常接一系列的SQL号令.

* COMMIT号令标志着一个事件组的完毕,表示事件期间做的全部改变应当被提交大概使之永久化.

* ROLLBACK号令标志着一个事件组的完毕,表示事件期间所做的全部改变应当被撤消.

PHP中的事件处理函数

PHP中的MySQLi插件引进了新的函数,帮忙开辟者操纵MySQL的事件处理本领.实质上,这些函数对等地被叫做SQL START TRANSACTION,COMMIT和 ROLLBACK号令.列表A为你展示了一个例子:

 

 
  // connect to database

  $dbh = mysqli_connect($host, $user, $pass, $db);

  // turn off auto-commit

  mysqli_autocommit($dbh, FALSE);

  // run query 1

  $result = mysqli_query($dbh, $query1);

  if ($result !== TRUE) {

  mysqli_rollback($dbh); // if error, roll back transaction

  }

  // run query 2

  $result = mysqli_query($dbh, $query2);

  if ($result !== TRUE) {

  mysqli_rollback($dbh); // if error, roll back transaction

  }

  // and so on...

  // assuming no errors, commit transaction

  mysqli_commit($dbh);

  // close connection

  mysqli_close($dbh);

  ?>

 

列表A
  以上是“<b>用新的PHP插件实现MySQL为底子的事件</b>[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .