W języku PHP, wykonując operacje na bazie danych MySQL, aby zakończyć pracę z bazą, należy wywołać
Pytanie z egzaminu CKE, styczeń 2017 (arkusz E.14-X-17.01).
Poprawna jest funkcja mysqli_close(). Zamyka ona połączenie z serwerem MySQL otwarte wcześniej funkcją mysqli_connect() i zwalnia zasoby związane z tym połączeniem. Przyjmuje jako argument identyfikator połączenia, np. mysqli_close($polaczenie);.
Typowy schemat skryptu PHP pracującego z bazą ma cztery kroki: mysqli_connect() - połączenie, mysqli_query() - wysłanie zapytania, mysqli_fetch_row() lub mysqli_fetch_assoc() - odczyt wierszy, a na końcu mysqli_close(). PHP zamyka połączenie automatycznie po zakończeniu skryptu, ale jawne zamknięcie to dobry nawyk i kryterium oceniane w arkuszach egzaminacyjnych INF.03.
W wersji obiektowej MySQLi to samo robi metoda $polaczenie->close(), wywoływana na obiekcie połączenia utworzonym przez new mysqli().
Każda z błędnych funkcji kojarzy się z kończeniem czegoś, ale nie połączenia. mysqli_exit() w ogóle nie istnieje w bibliotece MySQLi - w PHP jest konstrukcja exit, która przerywa cały skrypt, a nie pracę z bazą. Wywołanie nieistniejącej funkcji kończy się błędem krytycznym.
mysqli_commit() i mysqli_rollback() dotyczą transakcji, czyli grupy zapytań wykonywanych jako całość. Pierwsza zatwierdza zmiany wprowadzone w transakcji, druga je wycofuje. Obie kończą transakcję, ale połączenie z serwerem pozostaje otwarte i można wysyłać kolejne zapytania. Łatwo to zapamiętać: transakcja to jedna paczka zmian w trakcie połączenia, a połączenie zamyka się osobną funkcją o nazwie mówiącej wprost „zamknij”.
Na egzaminie praktycznym INF.03 w skryptach PHP sprawdzane jest zwykle właśnie to, czy połączenie zostało zamknięte funkcją mysqli_close() po wykonaniu wszystkich zapytań. Dlatego warto od razu kojarzyć tę funkcję z ostatnią linijką bloku pracy z bazą.