Maison >développement back-end >tutoriel php >Explication détaillée du traitement des transactions de php PDO

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

怪我咯
怪我咯original
2017-07-12 15:56:161334parcourir

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);

2. . méthode ;

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

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());
}
?>

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!

Déclaration:
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
Article précédent:Comment connecter PHP à MSSQLArticle suivant:Comment connecter PHP à MSSQL