我最近实现了PDO,并注意到我的查询结果缺少第一行。这可能是因为fetchColumn()检索第一行并将指针移动到第二行,以便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 2011-02-01 07:41:47
@bart thems the breaks。真的没有其他方法可靠地获得行数 – Phil 2011-02-01 10:44:09