mysql 事务设置php_PHP mysqli事务操作常用的方法详解

这篇文章主要介绍了PHP mysqli事务操作常用方法,结合实例形式分析了php操作mysqli事务的打开、提交、执行、回退、关闭等实现技巧,需要的朋友可以参考下

本文实例讲述了PHP mysqli事务操作常用方法。分享给大家供大家参考,具体如下:

1、

//打开(true)或关闭(false)本次数据库连接的自动命令提交事务模式

//参数如果设置为 FALSE,则表示关闭 auto-commit。如果设置为 TRUE,则表示开启 auto-commit(提交任何等待查询)。

bool mysqli::autocommit ( bool $mode )

2、

//回退当前事务

bool mysqli::rollback ()

3、

//提交一个事务

bool mysqli::commit ()

4、

//关闭先前打开的数据库连接

bool mysqli::close ()

5、

//对数据库执行一次查询

//失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE

//参数$resultmode可选。一个常量。可以是下列值中的任意一个:

//MYSQLI_USE_RESULT(如果需要检索大量数据,请使用这个)

//MYSQLI_STORE_RESULT(默认)

mixed mysqli::query ( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

代码示例:

$mysqli = new mysqli("127.0.0.1","root","111111","test");

if ($mysqli->connect_errno){

echo "Failed to connect to MySQL: " . $mysqli->connect_error;

}

//默认auto-commit 是打开的,可直接提交sql语句

$b1 = $mysqli->query("INSERT INTO test (id,name) values (0,'000')");

//若要执行事务,先关闭auto-commit

//关闭 auto-commit

$mysqli->autocommit(false);

$res1 = $mysqli->query("INSERT INTO test (id,n1ame) values (1,'111')");

$b2 = $mysqli->query("INSERT INTO test (id,name) values (2,'222')");

//有一条失败则回滚,全部成功则提交

if(!$res1 || !$b2){

echo '回滚!';

$mysqli->rollback();

} else {

echo '提交!';

$mysqli->commit();

}

//若想再次自动提交非事务语句,要打开auto-commit

$mysqli->autocommit(true);

$b3 = $mysqli->query("INSERT INTO test (id,name) values (3,'333')");

//关闭连接

$mysqli->close();

?>

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值