Explication détaillée du traitement des transactions de php PDO

怪我咯
Libérer: 2023-03-13 19:00:01
original
1323 Les gens l'ont consulté

L'extension

PHP DataObject (PDO) définit une interface légère et cohérente permettant à PHP d'accéder aux bases de données.

PDO fournit une couche d'abstraction d'accès aux données, ce qui signifie que quelle que soit la base de données utilisée, les mêmes fonctions (méthodes) peuvent être utilisées pour interroger et obtenir des données.

PDO est publié avec PHP5.1 et peut également être utilisé dans l'extension PECL de PHP5.0. Il ne peut pas fonctionner sur les versions PHP précédentes.

Cet article présente principalement le traitement des transactions de PDO dans PHP et analyse les compétences pertinentes d'utilisation de PDO pour le traitement des transactions en combinaison avec des exemples que les amis dans le besoin peuvent. reportez-vous à ce qui suit

Cet article analyse le traitement des transactions de PDO en PHP à travers des exemples. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Le traitement des transactions a quatre caractéristiques : atomicité, cohérence, indépendance et durabilité.

Toutes les bases de données ne prennent pas en charge le traitement des transactions. PDO fournit une prise en charge des transactions pour les bases de données qui peuvent effectuer le traitement des transactions.

Remarque lors de la configuration du traitement des transactions :

1. Désactivez la soumission automatique du PDO

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
Copier après la connexion

2. . méthode ;

$pdo->beginTransaction(); // 开启一个事务
$pdo->commit(); // 提交事务
$pdo->rollback(); // 回滚事务
Copier après la connexion

3. Le traitement général de la transaction est exécuté dans l'instruction try...catch..., et le segment de code catch est exécuté lorsque la transaction échoue.

<?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());
}
?>
Copier après la connexion

Si une erreur se produit dans l'instruction SQL de la transaction, tout le SQL ne sera pas exécuté. Ce n'est que lorsque toutes les instructions SQL seront correctes qu'elles seront soumises pour exécution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!