Pętla PDO i drukowanie fetchAll


Mam problem z pobraniem danych z funkcji fetchAll do selektywnego drukowania.
W normalnym mysql robię to tak:
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs)){
$id = $row['id'];
$n = $row['n'];
$k = $row['k'];
}

W 35 miałem problemy. Powiązuję parametry, a następnie przechowuję pobrane dane w $ rs, jak powyżej, w celu zapętlenia ich w ten sam sposób.
$sth->execute();
$rs = $query->fetchAll();

Teraz zaczyna się najbardziej nieprzyjemna część. Co powinienem mądrze zrobić PDO, aby uzyskać coś, co pasuje do powyższej pętli while ?! Wiem, że mogę użyć print_r () lub dump_var, ale nie tego chcę. Muszę zrobić to, co wcześniej mogłem zrobić ze zwykłym mysql, na przykład pobrać osobno $ id, $ n, $ k w razie potrzeby. Czy to możliwe?
Z góry dziękuję..
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

To jest takie, jakie powinno być
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$id = $row['id'];
$n = $row['n'];
$k = $row['k'];
}

Jeśli nalegasz na
fetchAll
, to
$results = $query->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $row) {
$id = $row['id'];
$n = $row['n'];
$k = $row['k'];
}

PDO :: FETCH_ASSOC
pobiera tylko nazwy kolumn i pomija indeks numeryczny.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się