私は最近PDOを実装して、クエリ結果に最初の行がないことに気付きました。これはおそらくfetchColumn()が最初の行を取得し、ポインタを2番目の行に移動してwhile()ループが2番目の行から開始するためです。正しいですか?もしそうなら、どうすればそれを回避し、次のコードブロックを改善できますか?PDO:fetchColumnは返された結果セットのポインタを移動しますか?
$STH = $DBH->prepare("SELECT * FROM users");
$result = $STH->execute();
if (!$result)
{
return false;
}
elseif($STH->fetchColumn()>0)//counterpart of mysql_num_rows()
{
while ($row = $STH->fetch())
{
...
}
}
}
私が何を見ます意味はありますが、これは理想とはかけ離れており、すべてのクエリを倍増しています。 – bart
@bart thems the breaks。実際に行数を確実に取得する他の方法はありません。 – Phil
あまりにも厳しいdownvote :( – Phil