Maison > Questions et réponses > le corps du texte
Avec try catch, cela signifie-t-il que je n'ai plus besoin d'utiliser les transactions MySQL ?
三叔2017-06-07 09:25:24
Vérifiez si votre try catch fonctionne sur la base de données. Bien sûr, cela implique la mise à jour et l'insertion de plusieurs tables afin de garantir l'intégrité des données, les opérations de transaction doivent être activées
.//開啟事務
try {
//完成提交事務
} catch(throw $e) {
//rollback
}
给我你的怀抱2017-06-07 09:25:24
Cela dépend de ce qu'il y a dans votre catch. S'il n'y a qu'une seule phrase après l'essai et qu'une exception est levée, il n'y aura pas de validation, OK.
Si doOne est exécuté et que vous n’utilisez pas la transaction, elle sera automatiquement validée. Voulez-vous attraper doOne et le restaurer séparément ou que faire ?
Voici deux phrases. Si vous avez 10 phrases, comment comptez-vous les saisir ?
try {
doOne
doTwo
} catch(throw $e) {
//rollback
}
天蓬老师2017-06-07 09:25:24
Les transactions et try catch
sont deux choses différentes. La raison pour laquelle try catch
est utilisé lors du démarrage d'une transaction est parce que si pdo
l'est. utilisé Lors de l'utilisation d'extensions telles que mysqli
, l'erreur de base de données renverra une erreur à PHP, provoquant la fin du programme exécuté par PHP, de sorte que la commande de fonction de l'étape rollback
ne peut pas être exécuté (dans Le programme est interrompu lors de la saisie), et utiliser try catch
est beaucoup plus sûr lors de l'exécution d'opérations de transactiontry catch
是两个东西,之所以在启动事务的时候使用try catch
是因为如果在使用pdo
mysqli
这类的扩展的时候,数据库报错会给 php 返回一个错误,让 php 执行的程序终止,从而不能执行到 rollback
这一步的函数命令(在执行录入的时候程序就中断了),而使用try catch
再执行事务操作的时候就安全许多
要分清楚try catch
是属于php
java
这类的逻辑操作的东西,而transation
try catch
est une opération logique comme php
java
, et transation code >C'est quelque chose qui appartient à la base de données. Les deux peuvent coopérer mais ne peuvent pas remplacer #🎜🎜#.répondre0