À propos de la fonction de transaction PDO

autoload
Libérer: 2023-04-09 19:42:01
original
3084 Les gens l'ont consulté

Définition : La fonction de transaction PDO n'est pas une fonction supplémentaire de PDO, mais une certaine encapsulation des opérations de transaction initialement supportées par MySQL. Remarque : La réussite de l'exécution de la transaction est déterminée par la prise en charge ou non du moteur de stockage correspondant à MySQL.

1. Examen de la fonction de transaction  : La transaction fait référence à la modification du mécanisme par défaut d'écriture dans la table de données en une seule opération, mais à l'enregistrement de l'opération via le journal des transactions, et enfin à son écriture une opération unique sur la fiche technique.

  • Opération ouverte : start transaction, l'opération d'écriture arrête d'écrire directement dans la table de données, mais est enregistrée dans le journal des transactions

  • Transaction opération : opération d'écriture spécifique, généralement plusieurs étapes et plusieurs instructions

  • Valider la transaction : c'est-à-dire que l'opération de transaction se termine

    Soumission réussie : commit, toutes les transactions le contenu du journal est synchronisé avec la table de données et efface le journal des transactions actuel

    Annulation d'échec : rollback, vide directement le journal des transactions actuel

2.pdo La classe fournit un ensemble de solutions pour implémenter les opérations de transaction

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
Copier après la connexion

3. Dans les opérations de transaction, il existe un mécanisme , qui n'est pas implémenté dans 回滚点. S'il y en a Si nécessaire, cela peut être réalisé via les PDO paramètresSQL指令

<?php
$pdo = new PDO(&#39;mysql:host=localhost;port=3306;dbname=my_database&#39;,&#39;root&#39;,&#39;root&#39;);
$pdo->beginTransaction() or die(&#39;事务开启失败&#39;);//开启事务
$pdo->exec(&#39;insert into student values()&#39;);//执行事务
//设置回滚点
$pdo->exec(&#39;savepoint sp1&#39;);

//继续执行事务...

//回滚
$pdo->exec(&#39;rollback to sp1&#39;);

//终止事务
$pdo->commit();				//成功提交
$pdo->rollback();			//失败回滚
?>
Copier après la connexion

Recommandé :

tutoriel php, tutoriel vidéo php

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!