PHP mysql 与 mysqli 事务使用说明
mysqli 连接是永久连接,而 mysql 是非永久连接。什么意思呢? mysql 连接每当第二次使用
的时候,都会重新打开一个新的进程,而
mysqli 则只使用同一个进程,这样可以很大程度
的减轻服务器端压力
mysqli 封装了诸如事务等一些高级操作,同时封装了 DB 操作过程中的很多可用的方法。
应用比较多的地方是
mysqli 的事务。
比如下面的示例:
代码如下
:
$mysqli
=
new
mysqli('localhost','root','','DB_Lib2Test');
$mysqli
->autocommit(false);
//开始事物
$mysqli
->query(
$sql1
);
$mysqli
->query(
$sql2
);
if
(!
$mysqli
->errno){
$mysqli
->commit();
echo
'ok';
}
else
{
echo
'err';
$mysqli
->rollback();
}
在
PHP 中,mysqli 已经很好的封装了 mysql 事务的相关操作。如下示例:
代码如下
:
$sql1
= "update User set ScoreCount = ScoreCount +10 where ID= '123456'";
$sql2
= "update ScoreDetail set FScore = 300 where ID= '123456'";
$sql3
= "insert into ScoreDetail ID,Score) values ('123456',60)";
$mysqli
=
new
mysqli('localhost','root','','DB_Lib2Test');
$mysqli
->autocommit(false);
// 开始事务
$mysqli
->query(
$sql1
);
$mysqli
->query(
$sql2
);
if
(!
$mysqli
->errno) {
$mysqli
->commit();
echo
'ok';
}
else
{
echo
'err';
$mysqli
->rollback();
}
在这里,我们再使用
php mysql 系列函数执行事务。
代码如下
: