Advantage Database PHP Extension을 사용하여 SELECT 문 결과 집합에서 행 수를 얻으려면 어떻게해야합니까?Advantage PHP Extension을 사용하여 행 수를 얻는 방법은 무엇입니까?
0
A
답변
1
나는 mysql_num_rows도 유사 작품 내 자신의 함수를 작성 결국 : 또한 ads_fetch_row를 사용하여 행을 카운트를 다시 작성할 수 있지만 내가 필요한 것을 쉽게했다
function my_num_rows($result) {
ob_start(); // begin disable output from ads_result_all
(int)$number = ads_result_all($result);
ob_end_clean(); //close and clean the output buffer
ads_fetch_row($r1, 0); // reset the result set pointer to the beginning
if ($number >= 0){
return $number;
} else {
return FALSE;
}
}
합니다. 큰 결과 집합을 사용하면 ads_result_all을 사용하면 성능이 저하 될 수 있습니다.
0
행을 가져올 때 계산해야합니다. 여기
당신 같은 계산의 예입니다 (이 KB 항목 070618-1888을 볼 수 있습니다)하거나 COUNT() 스칼라와 두 번째 쿼리를 실행 (가능한 경우로 제외 순서를 제안) 할 수 있습니다 이동합니다$rStmt = ads_do ($rConn, "select id, name from table1");
$RowCount = 0;
while (ads_fetch_row($rStmt))
{
$id = ads_result ($rStmt, "id");
$name = ads_result($rStmt, "name");
echo $id . "\t" . $name . "\n";
$RowCount++;
}
echo "RowCount:" . $RowCount . "\n";
+0
응답 해 주셔서 감사합니다. 그런 식으로 시도했지만 문제는 행을 계산 한 후 결과 포인터가 결과 집합의 끝에서 끝나고 다시 설정해야한다는 것입니다. 나는 내 대답에 게시 된 방법을 사용하여 끝났다. – MikeJerome
재사용 가능한 코드를 좋아합니다! – Edgar