Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] PDO fetchAll()
Forum PHP.pl > Forum > Przedszkole
muumiin
Mam taki oto kod:

  1. $i = 0;
  2. while($i<$howmany){
  3. $row=$stmt->fetch(PDO::FETCH_ASSOC);
  4. $id=$row[id];
  5. $name=$row[name];
  6. $date=$row[date];
  7. $filetype=$row[filetype];
  8. echo 'cos tam cos tam, widać że pętla działa';
  9. $i++;
  10. }


Wszystko było sprawne, ale okazało się, że jednak będę potrzebowała ładować dane z bazy danych w innej kolejności niż tam są. Pomyślałam więc, że troszkę przerobię tą pętlę. Jednak gdy zrobiłam coś takiego, okazało się, że nie działa:

  1. $row=$stmt->fetchAll(); // próbowałam również fetchAll(PDO::FETCH_ASSOC);
  2. $i = 0;
  3. while($i<$howmany){
  4. $id=$row[i][id];
  5. $name=$row[i][name];
  6. $date=$row[i][date];
  7. $filetype=$row[i][filetype];
  8. echo 'a tutaj nie wiedzieć czemu wszystkie zmienne są puste :(';
  9. $i++;
  10. }


Czy ktoś mógłby pokazać mi paluszkiem, co robię źle?
Kshyhoo
  1. $t = $pdo->query(" tu zapytanie ");
  2. while($row = $t->fetch()) {
  3. $row['a']...
  4. $row['b']...
  5. $row['c']...

Po co kombinować?
muumiin
Po to, że odczytuję z bazy danych więcej niż jeden rekord, i w dodatku potrzebuję odczytać te dane w innej kolejności niż w bazie danych... Dlatego potrzebuję użyć fetchAll, ale chyba nie do końca rozumiem jak to działa, bo... jak ja tego użyję to nie działa wink.gif
Kshyhoo
Przecież dostajesz tablicę i nie musisz nic kombinować.
Turson
  1. $id=$row[id];
  2. $name=$row[name];
  3. $date=$row[date];
  4. $filetype=$row[filetype];

Włącz raportowanie błędów, bo ten zapis nie jest poprawny, mianowicie $row[date]; itd
com
w pdo query zwraca all smile.gif
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.