beginTransaction(); // Creazione dell'utente $stmt = $pdo->prepare(" INSERT INTO utente (nome, cognome, email, passwordHash, attivo) VALUES (:nome, :cognome, :email, :passwordHash, 1) "); $stmt->execute([ "nome" => $nome, "cognome" => $cognome, "email" => $email, "passwordHash" => $passwordHash ]); /* In seguito all'aggiunta dell'utente recuperiamo l'ultimo elemento aggiunto in modo da linkarlo alla tabella della clientela */ $idUtente = $pdo->lastInsertId(); // Creazione del cliente $stmt = $pdo->prepare(" INSERT INTO cliente (idUtente, telefono) VALUES (:idUtente, :telefono) "); $stmt->execute([ "idUtente" => $idUtente, "telefono" => $telefono ]); $stmt = $pdo->prepare(" INSERT INTO indirizzo (via, numeroCivico, predefinito, idComune, idCliente) VALUES (:via, :numeroCivico, 1, :idComune, :idUtente) "); $stmt->execute([ "via" => $via, "numeroCivico" => $numeroCivico, "idComune" => $idComune, "idUtente" => $idUtente ]); $pdo->commit(); header("Location: index.php?registrazione=ok"); exit; } catch (PDOException $e) { if ($pdo->inTransaction()) { $pdo->rollBack(); } die( "Errore durante la registrazione: " . $e->getMessage() ); }