Visualizzazione dei risultati da 1 a 10 su 13

Discussione: PDO ODBC transaction

Hybrid View

  1. #1
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il metodo execute() non si aspetta una query SQL, si aspetta nulla se si usa prepare() , mentre un array contenente solo i parametri da passare allo statement se non si usa prepare().
    Quindi execute() usato in quel modo non va bene, devi usare exec() se vuoi scrivere la query per intero senza usare parametri.

    Assicurati che la connessione al db sia avvenuta correttamente e che non venga chiusa da qualche parte prima del codice che hai postato.
    Se già beginTransaction() fallisce vai a finire nel catch e ovviamente, avendo fallito l'inizializzazione della transazione, non c'è alcuna transazione attiva su cui eseguire un rollback.
    Devi distinguere quale eccezione è stata sollevata, non puoi dare per scontato che sia una query ad andare male, può anche essere altro.

  2. #2
    Ciao,
    ho provato a spostare $dbh->beginTransaction(); prima del try anche se in tutti gli esempi che ho visto online, si trova sempre all'interno.
    Ho verificato se la connessione al database avviene regolarmente. Ne sono sicuro, perché sono riuscito a fare una select,
    una insert e una update al di fuori della "try".

    Ho pensato.....
    Fino ad oggi ho usato le transaction PDO con i database mysql; ricordo che le transaction funzionano solo con i database di tipo InnoDB ... con i MyISAM non funzionavano ... sbaglio?

    Adesso mi trovo a dover interagire con un database access con estensione .mdb; è possibile che non accetti le transaction?
    grazie.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.