Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie wynikow w PDO
Forum PHP.pl > Forum > PHP > Object-oriented programming
michat34
czesc, nie wiedziałem czy dac to tu czy do baz danych ale jak cos to niech mod przeniesie.

zastanawiałem sie jak zliczyc w PDO ilosc rekordow, czyli alternatywa dla num_rows. na angielskiej stronie znalazłem rozwiazanie:
  1. 1.<?php
  2. 2.$sQuery = "SELECT * FROM table";
  3. 3.
  4. 4.$rResult = $pdo->query($sQuery)->fetchAll();
  5. 5.echo count($rResult);
  6. 6.?>


co mysliscie o takim rozwiazaniu? mi sie wydaje dziwne, ale działa.. (nie do konca, bo gdy chce na koncu dac closeCursor() to wywala bład). ale moze macie jakies inne, lepsze?
markonix
FetchAll tworzy całkiem sporą tablicę i na pewno nie będzie optymalnym rozwiązaniem.
Jak liczysz rekordy licz je za pomocą COUNT(*) w bazie.
BugsBunny
Może tak?

  1. $sth = $dbh->prepare("SELECT name, colour FROM fruit");
  2.  
  3. /* Count the number of columns in the (non-existent) result set */
  4. $colcount = $sth->columnCount();
  5.  
  6. //fetch
  7. $sth->fetchAll();
szalek01
markonix ma racje np:
  1. SELECT COUNT(`name`) FROM `fruit`
Piotrbaz
Jest jeszcze rowCount()
W manualu niby napisane, że przy SELECT sprawia problemy, ale u mnie jak na razie lata ; >
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.