Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13

Discussione: PDO ODBC transaction

  1. #11
    Ciao,
    ho capito qual è il problema

    codice:
    /* se commento qui la transaction funziona
    $sql = 'query di select ... ';
    $result = $dbh->prepare($sql);
    $result->execute();
    
    
    while( $row = $result->fetch(PDO::FETCH_ASSOC) ) {
      $test[] = $row; 
    }
    
    
    var_dump($test);
    echo '<br><br><br>';
    */
    
    
    //$dbh->setAttribute(PDO::ATTR_AUTOCOMMIT, FALSE);
    try
    {
        
        $dbh->beginTransaction();
    
    
        $sql1 = "query di insert ... ";
        $sql2 = "query di update ... ";
        $dbh->exec($sql1);
        $dbh->exec($sql2);
        $dbh->commit();
    }
    catch (PDOException $exception)
    {
        $dbh->rollBack();
        echo $exception->getMessage();
    }
    Se non faccio processare la prima select, la transaction funziona! Anche il rollBack funziona bene!
    Forse uso il metodo sbagliato per fare la SELECT ? ... in fondo la select non ha bisogno della transaction o sbaglio?
    Magari bisogna disattivare l'AUTOCOMIMIT dopo la select? se sì in che modo?

    Oppure devo inserire la Select nel try/catch?


    grazie.
    Ultima modifica di DUMAX; 07-05-2021 a 21:04

  2. #12
    $result->closeCursor();

    Alcuni db driver lo richiedono dopo aver fatto fetch....
    Prova a fare la chiusura del cursore dopo aver fatto il fetch della prima query

  3. #13
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    $result->closeCursor();

    Alcuni db driver lo richiedono dopo aver fatto fetch....
    Prova a fare la chiusura del cursore dopo aver fatto il fetch della prima query
    Buonasera,
    ha funzionato alla grande!!
    Grazie tante dell'aiuto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.