Salve,
allora su suggerimento di badaze ho cambiato tutto in mysqli e ho provato questo codice trovato tra degli esempi online:
codice:
$connessione = new mysqli($server, $user, $pass, $db);
if ($connessione->connect_errno) {
echo 'Non riesco a connettermi: ' . $connessione->connect_error ;
}
$connessione->autocommit(FALSE);
$query = "update jos_virtuemart_categories set product_per_row = '3' where virtuemart_category_id = '140'";
$query1 = "update jos_virtuemart_categories_it_it set slug = 'Cavi-Auto4' where virtuemart_category_id = '140'";
try {
$connessione->begin_transaction();
$result = $connessione->query($query);
$result1 = $connessione->query($query1);
$connessione->commit();
} catch (Exception $e) {
$connessione->rollback();
}
echo 'ciao';
$mysqli->close();
sicuramente c'è qualcosa che non va.
In questo esempio ho messo 2 query.
A me interessa che se una di queste due query fallisce, l'altra non deve essere eseguita lasciando entrambe le tabelle invariate.
Nell'esempio che ho inserito, nella prima query, assegno valore 3 al campo product_per_row che non esiste (in realtà il campo si chiama products_per_row) quindi la prima query fallisce.
Mentre la seconda la esegue come se niente fosse, in sostanza non entra proprio nel rollback.
Cosa stò sbagliando ancora?
grazie.