최근 PDO를 구현하고 쿼리 결과에 첫 번째 행이 부족하다는 사실을 알았습니다. 그 이유는 fetchColumn()이 첫 번째 행을 검색하고 포인터를 두 번째 행으로 이동시켜 while() 루프가 두 번째 행에서 시작하기 때문일 것입니다. 맞습니까? 그렇다면 어떻게 피할 수 있으며 다음 코드 블록을 개선 할 수 있습니까?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
부끄럽지만 부끄럽습니다. ( – Phil