数据库:
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>";
}
?>