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('mysql:host=localhost;port=3306;dbname=my_database','root','root'); $pdo->beginTransaction() or die('事务开启失败');//开启事务 $pdo->exec('insert into student values()');//执行事务 //终止事务 $pdo->commit(); //成功提交 $pdo->rollback(); //失败回滚
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('mysql:host=localhost;port=3306;dbname=my_database','root','root'); $pdo->beginTransaction() or die('事务开启失败');//开启事务 $pdo->exec('insert into student values()');//执行事务 //设置回滚点 $pdo->exec('savepoint sp1'); //继续执行事务... //回滚 $pdo->exec('rollback to sp1'); //终止事务 $pdo->commit(); //成功提交 $pdo->rollback(); //失败回滚 ?>
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!