Home  >  Article  >  Backend Development  >  PDO transaction processing methods and example analysis in PHP

PDO transaction processing methods and example analysis in PHP

墨辰丷
墨辰丷Original
2018-06-04 09:58:571609browse

This article mainly introduces the transaction processing of PDO in PHP, combined with the example form to analyze the related skills of using PDO for transaction processing. Friends in need can refer to it

Transaction processing has four characteristics: atomicity , consistency, independence, and durability.

Not all databases support transaction processing. PDO provides transaction support for databases that can perform transaction processing.

Notes when configuring transaction processing:

1. Turn off the automatic submission of PDO;

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);

2. The methods required to open a transaction ;

$pdo->beginTransaction(); // 开启一个事务
$pdo->commit(); // 提交事务
$pdo->rollback(); // 回滚事务

3. General transaction processing is run in the try...catch... statement. When the transaction fails, the catch code segment is executed.

<?php
try {
  $pdo->beginTransaction(); // 开启一个事务
  $row = null;
  $row = $pdo->exec("xxx"); // 执行第一个 SQL
  if (!$row)
    throw new PDOException(&#39;提示信息或执行动作&#39;); // 如出现异常提示信息或执行动作
  $row = $pdo->exec("xxx"); // 执行第二个 SQL
  if (!$row)
    throw new PDOException(&#39;提示信息或执行动作&#39;);
  $pdo->commit();
} catch (PDOException $e) {
  $pdo->rollback(); // 执行失败,事务回滚
  exit($e->getMessage());
}
?>

If an error occurs in the SQL statement in the transaction, all SQL will not be executed. Only when all SQL statements are correct will they be submitted for execution.

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

PHP uses header method to implement file download function

PHP method to generate color QR code based on QRCODE

PHP implements login verification code function and calling method

The above is the detailed content of PDO transaction processing methods and example analysis in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn