Ce face mysqli_release_savepoint
Funcția rulează RELEASE SAVEPOINT nume. Modificările rămân în tranzacție exact cum erau; doar nu mai poți reveni la acel punct. La commit sau rollback, toate punctele de salvare sunt șterse oricum.
Parametri
| Parametru | Descriere |
|---|---|
$mysql |
Conexiunea. |
$name |
Numele punctului de salvare. |
Ce returnează
true la succes. Un punct inexistent aruncă mysqli_sql_exception (PHP 8.1+).
Exemple
Exemplul 1: Punct de salvare eliberat
<?php
$conn = mysqli_connect("localhost", "ana", "parola_ta", "magazin");
mysqli_begin_transaction($conn);
mysqli_savepoint($conn, "pas1");
mysqli_release_savepoint($conn, "pas1");
try {
mysqli_query($conn, "ROLLBACK TO SAVEPOINT pas1");
} catch (mysqli_sql_exception $e) {
echo $e->getMessage();
}
mysqli_rollback($conn);
Rezultat (cu un server MySQL și tabelul produse de mai sus)
SAVEPOINT pas1 does not exist
Greșeli frecvente
- Crezi că
mysqli_release_savepointsalvează modificările. Doar ștergerea tranzacției cumysqli_commitle face permanente.
Comenzi înrudite
mysqli_savepoint: Creează un punct de salvare în tranzacția curentă, la care poți reveni fără să anulezi toată tranzacția.mysqli_commit: Salvează definitiv toate modificările făcute în tranzacția curentă.