$zapytanie = mysqli_query($db, "UPDATE …"); Wykonanie przedstawionego polecenia PHP umożliwi
$zapytanie = mysqli_query($db, "UPDATE …");Wykonanie przedstawionego polecenia PHP umożliwi
ALTER TABLE, a nie UPDATE.INSERT INTO.SELECT.UPDATE zmienia wartości w istniejących wierszach tabeli.Pytanie z egzaminu CKE, czerwiec 2022 (arkusz E.14-SG-22.06).
O działaniu decyduje polecenie SQL przekazane do mysqli_query(), a tu jest to UPDATE. To polecenie zmienia wartości w istniejących wierszach tabeli, czyli modyfikuje dane w bazie. Pełna postać wygląda na przykład tak: UPDATE uczniowie SET klasa = 2 WHERE id = 5;.
Dla poleceń UPDATE funkcja zwraca true albo false, a liczbę zmienionych wierszy podaje mysqli_affected_rows($db). Ważna reguła: UPDATE bez klauzuli WHERE zmienia wszystkie wiersze tabeli, dlatego warunek pisze się zawsze. Do zapamiętania: INSERT dodaje, UPDATE zmienia, DELETE usuwa, a SELECT odczytuje.
Nazwa zmiennej, do której trafia wynik, nie ma znaczenia dla działania - liczy się tylko treść zapytania SQL.
Funkcja mysqli_query() wykonuje dowolne zapytanie, więc o skutku decyduje słowo kluczowe SQL. Zapis nowych danych to polecenie INSERT INTO, które dodaje nowy wiersz. UPDATE nie tworzy wierszy, tylko zmienia wartości w już istniejących.
Modyfikacja struktury bazy, czyli dodawanie kolumn, zmiana ich typów czy tworzenie tabel, należy do poleceń ALTER TABLE i CREATE TABLE. Słowo „modyfikacja” pasuje do obu sytuacji, dlatego trzeba odróżnić strukturę tabeli od danych zapisanych w jej wierszach.
Odczyt danych z bazy to SELECT - wtedy mysqli_query() zwraca obiekt wyniku, z którego wiersze pobiera się funkcjami mysqli_fetch_. Nazwa zmiennej $zapytanie nie przesądza o niczym. Polecenie UPDATE umożliwia modyfikację danych w bazie.
Przy takich zadaniach wystarczy znaleźć w cudzysłowie pierwsze słowo polecenia SQL - ono mówi, co zapytanie zrobi z bazą.