Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de PDO ::beginTransaction

Explication détaillée de l'utilisation de PDO ::beginTransaction

藏色散人
藏色散人original
2019-04-10 13:11:252998parcourir

Cet article vous présente principalement l'utilisation détaillée de PDO::beginTransaction J'espère qu'il sera utile aux amis dans le besoin !

Explication détaillée de l'utilisation de PDO ::beginTransaction

PDO::beginTransaction (PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::beginTransaction démarre une transaction.

Description de la syntaxe :

PDO::beginTransaction ( void ) : bool

Désactivez le mode de soumission automatique. Lorsque le mode de validation automatique est désactivé, les modifications apportées à la base de données via les instances d'objet PDO ne sont pas validées tant que PDO::commit() n'est pas appelé pour terminer la transaction. L’appel de PDO::rollBack() annule les modifications apportées à la base de données et renvoie la connexion à la base de données en mode de validation automatique.

Certaines bases de données, dont MySQL, valideront automatiquement une transaction implicite lors de l'émission d'une instruction DDL telle que DROP TABLE ou CREATE TABLE. S'engager implicitement vous empêchera d'annuler toute autre modification dans le cadre de cette transaction.

Valeur de retour :

Renvoie VRAI en cas de succès, ou FAUX en cas d'échec.

Exemple de code :

Annuler une transaction

L'exemple suivant annule cette modification Avant de démarrer une transaction et d'émettre deux instructions qui modifient la base de données. Mais dans MySQL, l'instruction DROP TABLE valide automatiquement la transaction afin que toute modification apportée à cette transaction ne soit pas annulée.

<?php
/* 开始一个事务,关闭自动提交 */
$dbh->beginTransaction();
/*  更改数据库架构及数据 */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = &#39;hamburger&#39;");
/*  识别出错误并回滚更改 */
$dbh->rollBack();
/* 数据库连接现在返回到自动提交模式 */
?>

Recommandations associées : "Tutoriel 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!

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