用新的PHP插件实现MySQL为基础的事务while ($row = mysqli_fetch_assoc($result)) { $accounts[] = $row; } // close connection mysqli_close($dbh); ?>
TRANSFER
ACCOUNT BALANCES
像你所看到的那样,脚本以连接数据库和关闭自动提交开始。然后执行一个SELECT查询,检索所有帐户的现金收支,接着构造一个有下拉式界面的表格,选择交易要用到的来源/目标帐户。图表A显示了最初的表格。
一旦表格完成并提交后,两个UPDATE查询就开始实际执行借和贷操作。注意每一个查询的尾端都带有一个mysqli_rollback(),如果查询失败的话,它将被激活。假设没有查询失败的话,新的收支表就通过调用mysqli_commit()储存到数据库中。那时数据库连接就被关闭。 你可以自己试一下,从Savings #1转$500到Current #2。一旦你执行转帐之后,你将看到如图表B所示的平衡表的新结果。
提示:当然,这只是一个简单的双命令的事务。通常,当有许多SQL语句要一起执行的时候,你可以用这种事务模型,一个语句的失败对其他语句有串联的影响。在这些情况下,你会发现将mysqli_query()和mysqli_rollback()的调用压缩到一个单独的用户自定义的函数中,需要的时候调用它会更加简便。 正如你所看到的那样,用PHP和MySQL执行一个事务处理模型可以使你的MySQL数据库对查询执行的错误更稳固。但是,在你开始动手重写代码和使用这个模型之前,值得注意的是,事务确实会增加系统性能管理的消耗,所以,在实现这个模型之前,做一个成本效益分析始终是个好主意。
原文链接:http://www.zdnet.com.cn/developer/webdevelop/story/0,3800067013,39527643,00.htm 上一篇:GNU 线性编程工具包(线性优化简介) 下一篇:Apache和Subversion 搭建安全CVS 更多相关文章
|
推荐文章
精彩文章
|