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

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

「 启动一个事务 」


函数名称:PDO::beginTransaction()

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

函数描述:该函数用于启动一个事务。在事务中,可以执行多个数据库操作,如果其中任何一个操作失败,可以回滚整个事务,保持数据库的一致性。

用法:

$dsn = "mysql:host=localhost;dbname=mydatabase";
$username = "myusername";
$password = "mypassword";

try {
    $pdo = new PDO($dsn, $username, $password);

    // 启动事务
    $pdo->beginTransaction();

    // 执行数据库操作
    $pdo->exec("INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com')");
    $pdo->exec("UPDATE users SET name = 'Jane Smith' WHERE id = 1");

    // 提交事务
    $pdo->commit();

    echo "事务已提交";
} catch (PDOException $e) {
    // 回滚事务
    $pdo->rollback();

    echo "出现错误,事务已回滚:" . $e->getMessage();
}

示例解释:

  1. 首先,我们使用PDO类的构造函数创建一个数据库连接对象$pdo。在这个例子中,我们连接到名为"mydatabase"的MySQL数据库。
  2. 接下来,我们使用beginTransaction()方法启动一个事务。
  3. 在事务中,我们执行了两个数据库操作:插入一条新的用户记录和更新id为1的用户记录的名称。
  4. 最后,我们使用commit()方法提交事务,这将使所有的数据库操作都生效。如果在事务中出现任何错误,我们可以使用rollback()方法回滚事务,撤销所有的数据库操作。

请注意,PDO::beginTransaction()方法只能在支持事务的数据库引擎上使用,如MySQL、PostgreSQL等。

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