是否有可能使用php来执行mysql数据库事务和回滚?
问题描述:
例如:使用户A的支付转移到用户B. 帐户用户A:用户B的-10美元 帐户:+10美元是否有可能使用php来执行mysql数据库事务和回滚?
如果有交易,并且不顺心的事,一切变得百废待兴。因此,对于交易,不会发生用户A的账户减少10,而用户B的账户没有增加10。
我知道java人利用交易和遍布各地的回滚。但我从来没有听说过PHP的人会这样做。
答
$db = new mysqli("localhost", "", "", "");
$db->autocommit(FALSE);
if ($db->query("INSERT ..."))
$db->commit();
else
$db->rollback();
确保您的表使用InnoDB
引擎:MyISAM
不支持事务。
评论更新:
InnoDB
是MySQL
使用两个主要的存储引擎之一,另一个是MyISAM
。
MySQL
附带InnoDB
支持编译默认情况下,实际上它需要一些努力来禁用它。
我从来没有听说过MySQL
与InnoDB
即使最便宜的主机禁用。
你需要一个自己的innoDB服务器,因为没有廉价的托管服务器,对吗? – Thanks 2009-06-01 12:54:51