Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] liczba rekordów w tablicy asocjacyjnej
Forum PHP.pl > Forum > Przedszkole
rudolf35
Mam problem ze sprawdzeniem ile w tablicy asocjacyjnej znajduje się rekordów.
w goglach znalazłem coś takiego
  1. $_query = 'SELECT * FROM `category` WHERE 'parent_category=0';
  2. $stmt = $this->_connection -> query($_query);
  3. $stmt->setFetchMode(PDO::FETCH_ASSOC);
  4. $tab = $stmt;
  5. $klucze = array_keys($tab);
  6. echo count($klucze);


ale to nie działa.
erix
A nie możesz po prostu skorzystać z COUNT w zapytaniu, skoro sprawdzasz liczbę rekordów?

Poza tym, dla php-owego count nie jest istotne, czy tablica jest skalarnem, czy asocjacyjna, stąd array_keys jest tu zbędne...

A Twój kod nie działa, bo tego zapytania po prostu nie wykonujesz.
rudolf35
Zapytanie wykonuje się w 2 linii. Potrzebuje rekordy pobrane przez zapytanie, a dodatkowo chce znać ich ilość, dlatego chcę użyć count php-owego
everth
Zakładając że jest tak jak prawisz:
  1. $_query = 'SELECT * FROM `category` WHERE 'parent_category=0';
  2. $stmt = $this->_connection -> query($_query);
  3. $stmt->setFetchMode(PDO::FETCH_ASSOC);
  4. echo count($stmt);
rudolf35
Cytat(everth @ 29.07.2010, 21:29:16 ) *
Zakładając że jest tak jak prawisz:
  1. $_query = 'SELECT * FROM `category` WHERE 'parent_category=0';
  2. $stmt = $this->_connection -> query($_query);
  3. $stmt->setFetchMode(PDO::FETCH_ASSOC);
  4. echo count($stmt);

To co napisałeś zwraca mi cały czas 1.
Próbowałem zapytaniem sql wydobyć liczbę rekordów jakie zwróci zapytanie, ale też nie działa
  1. $_query = 'SELECT count(*) FROM `category` WHERE 'parent_category=0';
  2. $stmt = $this->_connection -> query($_query);
  3. echo $stmt;

wyrzuca błąd:
Catchable fatal error: Object of class PDOStatement could not be converted to string
nospor
Cytat
echo $stmt;
Uzywasz PDO to moglbyś juz wiedziec jak nalezy wyswietlic to co zwróci query()...
everth
W zapytaniu masz także błąd:
  1. $_query = 'SELECT * FROM `category` WHERE parent_category=0';
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.