Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] liczba rekordów w tablicy asocjacyjnej
rudolf35
post 29.07.2010, 19:44:48
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
erix
post 29.07.2010, 19:52:03
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
rudolf35
post 29.07.2010, 20:11:26
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


Zapytanie wykonuje się w 2 linii. Potrzebuje rekordy pobrane przez zapytanie, a dodatkowo chce znać ich ilość, dlatego chcę użyć count php-owego
Go to the top of the page
+Quote Post
everth
post 29.07.2010, 20:29:16
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


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);


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post
rudolf35
post 30.07.2010, 18:00:08
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nospor
post 30.07.2010, 18:06:11
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
echo $stmt;
Uzywasz PDO to moglbyś juz wiedziec jak nalezy wyswietlic to co zwróci query()...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
everth
post 30.07.2010, 18:32:51
Post #7





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


W zapytaniu masz także błąd:
  1. $_query = 'SELECT * FROM `category` WHERE parent_category=0';


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 00:16