2009-10-05 15 views
8

fetchAllのデータを選択的に印刷するのに問題があります。私は悩みを抱えている、PDOでPDOループと印刷fetchAll

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

:通常のMySQLで

私は、このようにそれを行います。私は

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

今すぐトラブルの一部が来る...そして、私はそれを同じようにループする目的で、上記のような$ RSにフェッチされたデータを保存しています、のparamsを結合しました。上記のwhileループと一致するものを得るには、PDOのやり方で何をするのですか? print_r()やdump_varを使うことができますが、それは私が望むものではありません。私は、必要に応じて$ id、$ n、$ kを個別に取得するような、通常のmysqlでできることをしなければならなかった。出来ますか?それは

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

あなたはfetchAllを主張する必要がある場合

事前に感謝を...

答えて

26

、その後、

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

PDO::FETCH_ASSOCは、列名のみを取得し、数値インデックスを省略します。

+0

ご協力いただきありがとうございます。私はループする前にそれを数えなければならないので、2と一緒に行った。前の$結果に格納する方が意味があります。 – Chris

+2

$ query-> rowCount()_might_はカウントを返します。 – Zed

+2

SELECT文では使用できません。この質問を参照してください:http://stackoverflow.com/questions/460010/workaround-for-php5s-pdo-rowcount-mysql-issue/660032#660032 – Imran

関連する問題