Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z FOUND_ROWS() w PHP'ie
Forum PHP.pl > Forum > PHP
MitS
Witam ponownie smile.gif

mam jakiś głupi błąd i nie wiem gdzie go zrobiłem.
otóż mam sobie tabelkę news w której jest 12 wpisów i chciałbym zwrócić ten wynik do php'a za pomocą funkcji FOUND_ROWS()
ale gdy próbuję zrobić coś takiego:

  1. <?php
  2. $stmt = $this->_dbh->query("SELECT SQL_CALC_FOUND_ROWS * FROM news LIMIT 0,10");
  3. $result = $stmt->fetchAll(PDO::FETCH_ASSOC);  // ten result się print_r'uje i są wszystkie dane
  4.  
  5. $stmt = $this->_dbh->query("SELECT FOUND_ROWS() AS total");
  6. $resultCounter = $stmt->fetch(PDO::FETCH_ASSOC);
  7.  
  8. print $resultCounter[total];
  9. ?>


to na wyjściu dostaje 0 sad.gif
czemu tak się dzieje questionmark.gif

Dodam tylko że jak próbuję przez konsole w mysql zrobić to działa poprawnie.
bełdzio
a co zwraca
Kod
var_dump( $resultCounter );
?
MitS
Zwraca dokłądnie to:
Cytat
array(1) {
["totalCounter"]=>
string(1) "0"
}
nospor
A jak sie ma sprawa przy takim wykonaniu:
  1. <?php
  2. $stmt = $this->_dbh->query("SELECT SQL_CALC_FOUND_ROWS * FROM news LIMIT 0,10");
  3.  
  4. $stmt2 = $this->_dbh->query("SELECT FOUND_ROWS() AS total");
  5. $resultCounter = $stmt2->fetch(PDO::FETCH_ASSOC);
  6. print $resultCounter[total];
  7.  
  8. $result = $stmt->fetchAll(PDO::FETCH_ASSOC);  // ten result się print_r'uje i są wszystkie dane
  9. ?>
MitS
także daje wynik 0

na chwilą obecną rozwiązałem swój problem, po pierwszym zapytaniu dałem $stmt->execute() i teraz liczy poprawnie tylko to rozwiązanie mi się nie podoba zbytnio, gdyż kiedyś robiłem bez tego i działało, więc coś jest nie tak :/
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.