recherche

Maison  >  Questions et réponses  >  le corps du texte

La relation entre try catch en php et les transactions en mysql

Avec try catch, cela signifie-t-il que je n'ai plus besoin d'utiliser les transactions MySQL ?

伊谢尔伦伊谢尔伦2727 Il y a quelques jours1013

répondre à tous(3)je répondrai

  • 三叔

    三叔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
    }

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱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
    }

    répondre
    0
  • 天蓬老师

    天蓬老师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

    Il faut bien distinguer que try catch est une opération logique comme php java, et transationC'est quelque chose qui appartient à la base de données. Les deux peuvent coopérer mais ne peuvent pas remplacer #🎜🎜#.

    répondre
    0
  • Annulerrépondre