sql >> Database >  >> RDS >> Mysql

PHP, MySQL, PDO-transacties - Stopt de code in de try-blokkering bij commit()?

Als de transactie om welke reden dan ook mislukt, stopt de code op de regel waar de fout is opgetreden einde, dan springt de uitvoering direct naar het catch-blok. Het is dus voldoende zoals u het in codeblok 2 heeft geschreven.

Houd er rekening mee dat u altijd de uitzondering opnieuw moet gooien na het terugdraaien. Anders heb je nooit een idee wat een probleem was. Zo zou het moeten zijn

try{
    $stmt = $db->prepare(... 1 ...);
    $stmt->execute();

    $stmt = $db->prepare(... 2 ...);
    $stmt->execute();

    $stmt = $db->prepare(... 3 ...);
    $stmt->execute();

    $db->commit();

    return true;
}catch(Exception $e){
    $db->rollBack();
    throw $e;
}


  1. MySQL TIMESTAMP naar QDateTime met milliseconden

  2. index op url of hashing rekening houdend met RAM

  3. mysql-updatekolom met waarde uit een andere tabel

  4. Een gegevensmodel voor restaurantbezorging