Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PDO::beginTransaction用法详解

PDO::beginTransaction用法详解

藏色散人
藏色散人asal
2019-04-10 13:11:252925semak imbas

本篇文章主要给大家介绍PDO::beginTransaction的用法详解,希望对需要的朋友有所帮助!

PDO::beginTransaction用法详解

PDO::beginTransaction(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::beginTransaction启动一个事务。

语法说明:

PDO::beginTransaction ( void ) : bool

关闭自动提交模式。自动提交模式被关闭的同时,通过 PDO 对象实例对数据库做出的更改直到调用 PDO::commit() 结束事务才被提交。调用 PDO::rollBack() 将回滚对数据库做出的更改并将数据库连接返回到自动提交模式。

包括 MySQL 在内的一些数据库,当发出一条类似 DROP TABLE 或 CREATE TABLE 这样的 DDL 语句时,会自动进行一个隐式地事务提交。隐式地提交将阻止你在此事务范围内回滚任何其他更改。

返回值:

成功时返回 TRUE, 或者在失败时返回 FALSE。

代码示例

回滚一个事务

下面例子在回滚此更改前开始一个事务并发出两条修改数据库的语句。但在 MySQL 中,DROP TABLE 语句自动提交事务,使得在此事务中的任何更改都不会被回滚。

<?php
/* 开始一个事务,关闭自动提交 */
$dbh->beginTransaction();
/*  更改数据库架构及数据 */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = &#39;hamburger&#39;");
/*  识别出错误并回滚更改 */
$dbh->rollBack();
/* 数据库连接现在返回到自动提交模式 */
?>

相关推荐:《PHP教程

Atas ialah kandungan terperinci PDO::beginTransaction用法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn