文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院网络编程PHP用新PHP插件实现MySQL为基础的事务
精品广告
推荐TOP10
·结合PHP使用HTML表单
·初学PHP的基础例程
·菜鸟学PHP之Smarty入门
·PHP环境安全配置教程
·PHP入门指导:如何学习PHP?
·Php+Mysql注入专题
·PHP:实现给上传图片加水印的程序代码
·PHP动态网站开发中常用的8个小技巧
·PHP初学者:配置Apache服务器并且设置DNS
·初学PHP指导:php.ini 配置详细选项
阅读TOP10
·www.PHP.net 站点用户指南
·PHP开发框架总结
·一棵php的类树(支持无限分类)
·常用PHP论坛程序集合
·phpmyadmin操作流程
·7种流行PHP集成开发工具(IDE)的比较
·自定义PHP分页函数
·好文分享:PHP入门的学习方法
·php有哪些优点
·突破Windows 2003 PHP服务器的新思路

用新PHP插件实现MySQL为基础的事务

日期:2006年12月26日 作者: 查看:[大字体 中字体 小字体]


  mysql> SELECT * FROM accounts;

  +----+------------+---------+

   id label balance

  +----+------------+---------+

   1 Savings #1 1000

   2 Current #1 2000

   3 Current #2 3000

  +----+------------+---------+

  3 rows in set (0.34 sec)
 

现在,需要建立一个简单的界面,使用户能够输入一个现金数额,实现从一个帐户到另一个的转帐。实际的“交易”将用两个UPDATE语句来执行,一个将转帐金额从源帐户取出,即借方,另一个将转帐金额记入目标帐户,即贷方。假设我们所做的是在帐户之间进行转帐,那么所有帐户的可用结余总额($6000)应该一直保持不变。

列表B显示了可能的代码,列表 B:


  

  // connect to database

  $dbh = mysqli_connect("localhost", "user", "pass", "test")
    or die("Cannot connect");

  // turn off auto-commit

  mysqli_autocommit($dbh, FALSE);

  // look for a transfer

  if ($_POST['submit'] && is_numeric($_POST['amt'])) {

  // add $$ to target account

  $result = mysqli_query($dbh, "UPDATE accounts SET
    balance = balance + " . $_POST['amt'] . " WHERE id = " . $_POST['to']);

  if ($result !== TRUE) {

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

  }

  // subtract $$ from source account

  $result = mysqli_query($dbh, "UPDATE accounts
    SET balance = balance - " . $_POST['amt'] .
    " WHERE id = " . $_POST['from']);

  if ($result !== TRUE) {

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

  }

  // assuming no errors, commit transaction

  mysqli_commit($dbh);

  }

  // get account balances

  // save in array, use to generate form

  $result = mysqli_query($dbh, "SELECT * FROM accounts");

  while ($row = mysqli_fetch_assoc($result)) {

  $accounts[] = $row;

  }

  // close connection

  mysqli_close($dbh);

  ?>
 
像你所看到的那样,脚本以连接数据库和关闭自动提交开始。然后执行一个SELECT查询,检索所有帐户的现金收支,接着构造一个有下拉式界面的表格,选择交易要用到的来源/目标帐户。图表A显示了最初的表格。



上一页 [1] [2] [3] 下一页 

上一篇:Linux下防范缓冲区溢出攻击安全策略

下一篇:如何实现用ODBC连接MySQL和ASP.NET


相关软件: 相关文章:
·[揭密]东北财经大学王婷婷的露点自杀事件(续)
·关闭Windows Server 2003关机事件跟踪程序
·Javascript实例:Select的OnChange()事件
·《三国志11》历史事件触发条件和遗迹的作用
·男人恋爱不做的19件事
·万事无忧 制作万能光驱中文启动盘
·硬盘选购的注意事项

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号