2、转账汇款——一个简单的页面

该博客介绍了如何使用PHP和MySQL创建一个简单的转账(汇款)系统。内容包括数据库表结构设计,HTML表单用于输入转账信息,以及PHP脚本处理转账逻辑,包括事务处理、更新账户余额以及错误处理。此外,还展示了查询所有账户余额并显示在表格中的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



数据库:

use php34

create table user_zhanghu(id int auto_increment key,zhanghu varchar(32) unique not null,money varchar(32));

insert into user_zhanghu(zhanghu,money) values('aa','1000');


<?php
   mysql_connect("localhost","root","123456");
   mysql_query("set names utf8;");//mysql_set_charset("utf8")
   mysql_select_db('php34');
?>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<body>
   <h1>转账(汇款)系统:</h1>
   <form action="" method="post">
   转出账户:<input type="text" name="cun"><br/>
   转入账户:<input type="text" name="jin"><br/>
   转出金额:<input type="text" name="money"><br/>
   <input type="submit" value="提交">
   </form>
</body>
<?php
if($_POST){
 $u1 = $_POST['cun'];
 $u2 = $_POST['jin'];
   $money=$_POST['money'];
      mysql_query("start transaction;");
      $sql1="update user_zhanghu set money=money-$money where zhanghu='$u1';";
   $sql2="update user_zhanghu set money=money+$money where zhanghu='$u2';";
   $result1=mysql_query($sql1);
   $err1 = mysql_error();
      $result2=mysql_query($sql2);
   $err2 = mysql_error();
   if($result1===false || $result2===false){
      mysql_query("rollback;");
  echo "转账失败:" . $err1 . $err2 ;
  echo "<br />失败语句1为:" . $sql1;
  echo "<br />失败语句2为:" . $sql2;
   }else{
      mysql_query("commit");
  //echo "转账成功!";
  //换成下面的写法,则页面就会当作“全新页面”(而不是提交后页面)
  $str = <<<ABCD
   <script>
    alert('转账成功!');
    //document.write("转账成功!");这个方式不能输出到页面,因为下一行就跳转
    location.href = 'zhuanzhang.php?msg=1';
   </script>
ABCD;
   echo $str;
   die();
   }
}

if(!empty($_GET['msg'])){
 if($_GET['msg'] == '1'){
  echo "转账成功";
 }
 else if($_GET['msg'] == '2'){
  echo "存款成功";
 }
 else if($_GET['msg'] == '3'){
  echo "销户成功";
 }
}
?>

<?php
   $sql="select * from user_zhanghu;";
   $result=mysql_query($sql);
   if($result==false){
       echo "sql语句执行错误".mysql_error();
   }else{
       $numCount=mysql_num_fields($result);
    echo "<table border='1'>";
    echo "<tr>";
    echo "<th>"."ID"."</th>";
    echo "<th>"."账户名"."</th>";
    echo "<th>"."资金"."</th>";
    echo "</tr>";
    while($arr=mysql_fetch_array($result)){
     echo "<tr>";
        for($i=0;$i<$numCount;$i++){
        $fieldName=mysql_field_name($result,$i);
     echo "<td>".$arr[$fieldName]."</td>";
     }
     echo "</tr>";
    }
    echo "</table>";
   }
?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值