mysqli_num_rows

mysqli_num_rows($result)

Zwraca liczbę wierszy w wyniku zapytania SELECT. Pomaga w decyzji „nic nie znaleziono”. Liczbę wierszy zmienionych przez UPDATE albo DELETE zwraca mysqli_affected_rows().

Parametry

  • $result – obiekt mysqli_result.

Przykłady

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = mysqli_connect("localhost", "user", "password", "shop");
mysqli_set_charset($db, "utf8mb4");
$r = mysqli_query($db, "SELECT name FROM products WHERE stock = 0");
echo mysqli_num_rows($r); // 1
$r = mysqli_query($db, "SELECT name FROM products WHERE price > 1000");
if (mysqli_num_rows($r) === 0) {
    echo "Nic nie znaleziono."; // Nic nie znaleziono.
}

Na co uważać

  • Nie wczytuj całej tabeli tylko po to, żeby poznać liczbę – SELECT COUNT(*) policzy wiersze w bazie i wyśle jedną liczbę.
  • Z MYSQLI_USE_RESULT (wiersze pojedynczo) liczba jest znana dopiero po odczytaniu wszystkich wierszy.

Powiązane funkcje:
mysqli_affected_rows()
mysqli_query()
mysqli_fetch_assoc()
count()