Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come gestire 4 insert mysql

    Buon pomeriggio.
    Per eseguire una insert faccio cosi:
    Codice PHP:
    public function send_richiesta($cod,$emailAddr,$dirFile,$conloc,$uimm_codice){
    mysqli_set_charset($this->connect,"utf8");
    $query $this->connect->query("INSERT INTO ".TB_RICHIESTA." ( "."campo1, campo2, campo3, "."  ) VALUES ("."  \"".$cod."\"".", \"".$uimm_codice."\"".", \"".$dirFile."\""."  )") or die("error: ".mysqli_error($this->connect));

    if (
    $query === false) {       mysqli_rollback($this->connect);       return false;}else{    $this->insert_pratiche_ufficio($cod,$emailAddr,$dirFile,$conloc,$uimm_codice);        return true;}mysqli_free_result($query);} 
    Se notate nella else, quindi se tutto è andato bene nella prima insert, richiamo ed eseguo la seconda insert_pratiche_ufficio.
    Ora questo meccanismo lo vorrei riproporre per tutte e 4 le insert che ho.
    Ma, come gestisco un eventuale errore che avviene nell'ultima insert cosi da fare un rollback per quelle precedenti e eliminare cosi di fatto i record appena inseriti?
    Grazie.

  2. #2

  3. #3
    Per gestire le query faccio cosi, non posto tutto il codice:
    Codice PHP:
    public function send_richiesta($codMod){
    mysqli_set_charset($this->connect,"utf8");mysqli_autocommit($this->connectfalse);$query $this->connect->query("INSERT INTO.....");

    if (
    $query === false) {    mysqli_rollback($this->connect);    return false;}else{
    //se non ci sono problemi eseguo la seconda query
    $this->insert_pratiche_ufficio($codMod);
    return 
    true;}mysqli_free_result($query);} 
    Questo schema lo ripeto per altre 3 volte, per altrettante insert.
    Capisco che non è il metodo migliore.

    Domanda: come faccio a fare una rollback e tornare alla prima INSERT, se mi ritrovassi un errore nell'ultima insert?
    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.