Mysql transaction processing (a transfer program)-PHP code
", 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 'insufficient balance '; 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 'transfer successful! ';} Else {$ mysqli-> rollback (); echo "transfer failed! ";}$ 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 "user userA value :". $ cash; $ mysqli-> close ();?> & Create table account {userID smallint unsigned not null auto_increment, name varchar (45) not null, cash decimal (2000) not null, primary key (userID) type = InnoDB; insert into account (name, cash) values ('usera ', '123 '); insert into account (name, cash) values ('userb', '123 ');