Funkcja mysqli_num_rows() w PHP jest używana do uzyskania liczby wierszy w zbiorze wyników (tzw. result set). Oznacza to, że najpierw musi powstać obiekt wyniku zapytania, a dopiero potem można policzyć, ile rekordów zwróciła baza.
Zapytanie SELECT jest standardowym przykładem kwerendy, która zwraca wiersze (rekordy) spełniające warunki. Dlatego po wykonaniu SELECT i otrzymaniu wyniku można sensownie wywołać mysqli_num_rows(), aby np. sprawdzić, czy istnieją dane do wyświetlenia albo ile ich jest.
Odpowiedzi INSERT, UPDATE i DELETE dotyczą zapytań, które modyfikują dane w tabeli. Zwykle nie zwracają one listy rekordów do przeglądania, więc nie tworzą typowego zbioru wyników, dla którego liczy się liczbę wierszy funkcją mysqli_num_rows(). W takich przypadkach częściej interesuje nas liczba zmienionych wierszy, a nie liczba wierszy w wyniku kwerendy.
- Jeśli chcesz sprawdzić, czy coś istnieje w bazie przed dodaniem/edycją, najczęściej wykonujesz SELECT i liczysz wiersze.
- Jeśli chcesz sprawdzić efekt modyfikacji (czy coś się zmieniło), patrzysz na informację o zmienionych rekordach, a nie na liczbę wierszy w zbiorze wyników.
Na egzaminie warto zapamiętać prostą zasadę: mysqli_num_rows() = liczenie rekordów zwróconych do odczytu, więc naturalnie łączy się z zapytaniami typu SELECT.