English | 简体中文 | 繁體中文
查询

PDO::rollBack()函数—用法及示例

「 回滚一个事务 」


函数名称:PDO::rollBack()

适用版本:PHP 5 >= 5.1.0, PHP 7, PHP 8

函数描述:PDO::rollBack() 方法用于回滚一个事务。

语法:public PDO::rollBack(): bool

参数:无

返回值:如果成功回滚事务,则返回 true。否则,返回 false。

示例:

try {
    $pdo = new PDO("mysql:host=localhost;dbname=test", "username", "password");
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $pdo->beginTransaction();
    
    $pdo->exec("UPDATE users SET balance = balance - 100 WHERE id = 1");
    $pdo->exec("UPDATE users SET balance = balance + 100 WHERE id = 2");
    
    // 执行其他操作...
    
    $pdo->commit(); // 提交事务
    
    echo "事务已提交";
} catch (PDOException $e) {
    $pdo->rollBack(); // 回滚事务
    
    echo "事务已回滚:" . $e->getMessage();
}

在上面的示例中,我们首先创建了一个 PDO 对象,并设置了错误模式为异常模式(ERRMODE_EXCEPTION)。然后,我们开始一个事务(beginTransaction()),在事务中执行了两个更新操作,然后提交事务(commit())。

如果在事务执行过程中出现了异常,catch 块会捕获到异常,然后我们调用 PDO::rollBack() 方法来回滚事务。

注意:PDO::rollBack() 方法只能在事务未提交或未回滚时调用,否则将抛出异常。

补充纠错
上一个函数: PDO::setAttribute()函数
下一个函数: PDO::quote()函数
热门PHP函数
分享链接