Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Mysqli - Liczenie ilości rekordów
Forum PHP.pl > Forum > PHP
Navi93
Witam!

Przepisuję swoją stronę, aby używała mysqli, zamiast mysql.

Nie wiem, jak zrobić, żeby liczyło rekordy, które zawierają kolumny o wybranej wartości.

W mysql było coś takiego:
  1. $xyz = mysql_query("SELECT COUNT(*) FROM tabela WHERE cos='cos'") or die(mysql_error());
  2. $blablabla = mysql_result($xyz,0);
  3. echo $blablabla;


I pokazywało mi, ile jest rekordów.

Próbowałem, to przepisać do mysqli, wyszło coś takiego:
  1. $xyz = $baza->query("SELECT COUNT(*) FROM tabela WHERE cos='cos'") or die(mysql_error());
  2. $blablabla = $xyz->fetch_assoc();
  3. echo $blablabla;


Ale zamiast liczby rekordów, pokazuje się słowo "Array". Próbowałem, szukać pomocy w internecie, ale nie znalazłem. Pomóżcie mi!
matix
Zwrócona zostaje ci tablice. Wpierw sobie ją wyświetl:

  1. print_r($blablabla)


A następnie poczytaj o tablicach w PHP (Array).
Kowol
Nie lepiej
  1. $xyz->num_rows
?
matix
@Kowol: Zdecydowanie nie. Wydajność tej metody diametralnie spada przy większych ilościach danych w bazie.
zend
  1. count($array); //jak będziesz miał wybraną całą tablicę to zrób


Edit :
@down a no faktycznie, moja gafa smile.gif
count vs SQL_CALC_FOUND_ROWS - coś do poczytania smile.gif Jak to mówią, człowiek uczy się przez całe życie smile.gif
phpion
@zend:
No ale po co pobierać wszystkie rekordy tylko po to by zliczyć ich ilość? Od tego masz przecież COUNT() - ten w bazie danych, nie w PHP. Swoją drogą: taki login do czegoś jednak zobowiązuje winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.