Mysqlトランザクション処理(転送プログラム)
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-25 09:01:30
- header("Content-Type:text/html;charset=utf-8");
- $mysqli=new mysqli("localhost","root","","test") ;
- if(mysqli_connect_errno())
- {
- printf("接続失敗:%s
",mysqli_connect_error()); - exit();
- }
-
- $success=TRUE;
- $price=8000;
- $result=$mysqli->query("name='userA' のアカウントから現金を選択");
- while($row=$result->fetch_assoc())
- {
- $value=$row["cash "];
- echo $value;
- }
- $mysqli->autocommit(0);
- if($value>=$price){
- $result=$mysqli->query("UPDATE アカウント セット キャッシュ = キャッシュ-$price where name='userA'");
- }else {
- echo '余额不足';
- exit();
- }
- if(!$result or $mysqli->affected_rows!=1)
- {
- $success=FALSE;
- }
-
- $result=$mysqli->query("UPDATE account setCash=cash+$price where name='userB'");
- if(!result or $mysqli->affected_rows! =1){
- $success=FALSE;
- }
-
- if($success)
- {
- $mysqli->commit();
- echo '转账成功!';
- }else
- {
- $mysqli-> rollback();
- echo "转账失败!";
- }
- $mysqli->autocommit(1);
- $query="name=? のアカウントから現金を選択";
- $stmt=$mysqli->prepare ($query);
- $stmt->bind_param('s',$name);
- $name='userA';
- $stmt->execute();
- $stmt->store_result();
- $stmt->bind_result($cash);
- while($stmt->fetch())
- echo "用户userAの值:".$cash;
-
- $mysqli->close();
- ? >
-
-
-
- &&&&&&&&&&&&&&&&&
-
- テーブルアカウントを作成します{
- userID smallint unsigned not null auto_increment,
- name varchar(45) not null,
- Cash Decimal(9,2) not null,
- 主キー(userID)
- )type =InnoDB;
-
- account(name,cash) の値 ('userA','2000') に挿入;
- account(name,cash) の値 ('userB','10000');
复制代码
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31