用新的PHP插件实现MySQL为基础的事务
2007-11-11 16:00:15 来源:WEB开发网- ·以假乱真 Linux中实现Vista界面
·利用VB6.0实现五线谱作曲工具
·Max粒子系统轻松实现群蝶飞舞
·ASP.NET系统用户权限设计与实现
·让Excel 2007实现双面打印的两种另类
·轻松实现电脑一分为二:Betwin
·用VC实现小型矢量图形系统的开发(上)
·Java运行时多态性的实现
·盗QQ的密码软件模拟实现(VC)
·用vb实现ftp的上传下载
TRANSFER
ACCOUNT BALANCES
" . $a['label'] . " | " . $a['balance'] . " |
像你所看到的那样,脚本以连接数据库和关闭自动提交开始。然后执行一个SELECT查询,检索所有帐户的现金收支,接着构造一个有下拉式界面的表格,选择交易要用到的来源/目标帐户。图表A显示了最初的表格。
图表 A |
PHP插件实现MySQL(和PHP搭配之最佳组合)为基础的事务(图一)" width="545" height="389" /> |
最初的表格 |
一旦表格完成并提交后,两个UPDATE查询就开始实际执行借和贷操作。注意每一个查询的尾端都带有一个MySQL(和PHP搭配之最佳组合)i_rollback(),如果查询失败的话,它将被激活。假设没有查询失败的话,新的收支表就通过调用MySQL(和PHP搭配之最佳组合)i_commit()储存到数据库中。那时数据库连接就被关闭。
你可以自己试一下,从Savings #1转$500到Current #2。一旦你执行转帐之后,你将看到如图表B所示的平衡表的新结果。
图表 B |
PHP插件实现MySQL(和PHP搭配之最佳组合)为基础的事务(图二)" width="545" height="389" /> |
交易完成之后的状况 |
提示:当然,这只是一个简单的双命令的事务。通常,当有许多SQL语句要一起执行的时候,你可以用这种事务模型,一个语句的失败对其他语句有串联的影响。在这些情况下,你会发现将MySQL(和PHP搭配之最佳组合)i_query()和MySQL(和PHP搭配之最佳组合)i_rollback()的调用压缩到一个单独的用户自定义的函数中,需要的时候调用它会更加简便。
正如你所看到的那样,用PHP和MySQL(和PHP搭配之最佳组合)执行一个事务处理模型可以使你的MySQL(和PHP搭配之最佳组合)数据库对查询执行的错误更稳固。但是,在你开始动手重写代码和使用这个模型之前,值得注意的是,事务确实会增加系统性能管理的消耗,所以,在实现这个模型之前,做一个成本效益分析始终是个好主意。
更多精彩
赞助商链接