Cet article présente principalement le traitement des transactions de PDO en PHP, combiné avec des exemples pour analyser les compétences associées à l'utilisation de PDO pour le traitement des transactions. Les amis dans le besoin peuvent s'y référer
Le traitement des transactions a quatre caractéristiques : l'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('提示信息或执行动作'); // 如出现异常提示信息或执行动作 $row = $pdo->exec("xxx"); // 执行第二个 SQL if (!$row) throw new PDOException('提示信息或执行动作'); $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.
Résumé : Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.
Recommandations associées :
PHP utilise la méthode d'en-tête pour implémenter la fonction de téléchargement de fichiers
Méthode PHP pour générer un code QR couleur basé sur QRCODE
PHP implémente la fonction de code de vérification de connexion et la méthode d'appel
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!