Transakcje w MySQLi
Założenie: Nauczymy się, jak przeprowadzać transakcje w bazie danych MySQL za pomocą rozszerzenia MySQLi w PHP, aby zapewnić spójność danych.
Krok po kroku:
- Połączenie z bazą danych:
- Rozpoczęcie transakcji:
- Wykonanie zapytań:
- Zatwierdzenie lub anulowanie transakcji:
connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Ten kod nawiązuje połączenie z serwerem MySQL. Pamiętaj o zamianie placeholderów na swoje dane dostępowe.
autocommit(FALSE); // Wyłączamy automatyczne zatwierdzanie transakcji
?>
Wyłączamy automatyczne zatwierdzanie zmian, aby móc kontrolować transakcję.
query($sql1) === TRUE && $conn->query($sql2) === TRUE) {
// Oba zapytania wykonały się poprawnie
} else {
// Wystąpił błąd
echo "Error: " . $sql1 . "
" . $conn->error;
echo "Error: " . $sql2 . "
" . $conn->error;
}
?>
Wykonujemy szereg zapytań SQL. Jeśli któreś z nich zawiedzie, cała transakcja zostanie cofnięta.
commit()) {
echo "Transakcja zatwierdzona";
} else {
$conn->rollback(); // Cofnięcie transakcji w przypadku błędu
echo "Transakcja anulowana";
}
$conn->close();
?>
Zatwierdzamy transakcję, jeśli wszystkie zapytania wykonały się poprawnie. W przeciwnym wypadku, używamy `rollback()` aby cofnąć wszystkie zmiany.
Ten przykład pokazuje podstawy transakcji w MySQLi. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi scenariuszami.