2009-10-05 21 views
8

Verilerimi seçerek yazdırmak için fetchAll öğesinden veri alıyorum sorun yaşıyorum. Sorun yaşıyorum, PDO olarakPDO döngü ve yazdırma getirme döngüsünü tamamlaTüm

$rs = mysql_query($sql); 
while ($row = mysql_fetch_array($rs)){ 
    $id = $row['id']; 
    $n = $row['n']; 
    $k = $row['k']; 
} 

: Normal mysql olarak

Ben bu şekilde yapmak. Ben

$sth->execute(); 
$rs = $query->fetchAll(); 

Şimdi sorun kısım geliyor .. içinden aynı şekilde döngü amacıyla, o zaman ben yukarıdaki gibi $ rs içine getirilen verilerin saklıyorum, params bağlı. Yukarıda geçen süre ile eşleşen bir şey elde etmek için PDO-bilge ne yapabilirim ?! Print_r() veya dump_var'ı kullanabileceğimi biliyorum, ama istediğim bu değil. Normal mysql ile yapabildiğim şeyi yapmalıyım, $ id, $ n, $ k, gerektiğinde tek tek kapmak gibi. Mümkün mü? Eğer

$results = $query->fetchAll(PDO::FETCH_ASSOC); 
foreach($results as $row) { 
    $id = $row['id']; 
    $n = $row['n']; 
    $k = $row['k']; 
} 

PDO::FETCH_ASSOC tek sütun adlarını getirir ve sayısal indeksini atlar, sonra fetchAll ısrar ederse O

while ($row = $query->fetch(PDO::FETCH_ASSOC)) { 
    $id = $row['id']; 
    $n = $row['n']; 
    $k = $row['k']; 
} 

olmalıdır önceden

Teşekkür ..

cevap

26

.

+0

Yardımlarınız için çok teşekkürler. 2 ile gittim, çünkü döngüden önce de saymam gerekiyor. Bu yüzden daha önce $ sonuçlarında saklamak için daha mantıklı. – Chris

+2

$ query-> rowCount() _might_ sayımı döndür. – Zed

+2

SELECT ifadeleri için olmaz. Şu soruya bakın: http://stackoverflow.com/questions/460010/work-around-for-php5s-pdo-rowcount-mysql-issue/660032#660032 – Imran