PHP執行個體分析了mysql交易處理的提示

來源:互聯網
上載者:User
本篇文章主要介紹PHP執行個體分析了mysql交易處理的提示,感興趣的朋友參考下,希望對大家有所協助。

本文執行個體講述了PHP+Mysql基於交易處理實現轉賬功能的方法,具體如下:

<?php  header("Content-Type:text/html;charset=utf-8");  $mysqli=new mysqli("localhost","root","","test");  if(mysqli_connect_errno())  {  printf("串連失敗:%s<br>",mysqli_connect_error());  exit();  }  $success=TRUE;  $price=8000;  $result=$mysqli->query("select cash from account where name='userA'");  while($row=$result->fetch_assoc())  {  $value=$row["cash"];  echo $value;  }  $mysqli->autocommit(0);  if($value>=$price){  $result=$mysqli->query("UPDATE account set cash=cash-$price where name='userA'");  }else {  echo '餘額不足';  exit();  }  if(!$result or $mysqli->affected_rows!=1)  {  $success=FALSE;  }  $result=$mysqli->query("UPDATE account set cash=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="select cash from account where 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();?>

資料庫SQL語句如下:

create table account{ userID smallint unsigned not null auto_increment, name varchar(45) not null, cash decimal(9,2) not null, primary key(userID))type=InnoDB;insert into account(name,cash) values ('userA','2000');insert into account(name,cash) values ('userB','10000');

總結:以上就是本篇文的全部內容,希望能對大家的學習有所協助。

相關推薦:

php 參數和資料過濾圖文詳解

php中存緩分類資料庫緩衝

php 檔案上傳管理系統

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.