2017-12-07 1 views
-1

결과 개체의 EOL로 점프하는 방법이 있는지 스스로 묻습니다. mysqli_data_seek를 사용하여 결과 포인터를 조작 할 수 있다는 것을 알고 있습니다. 그러나 마지막 끝으로 뛰어 넘을 방법이 없을 것 같습니다.!? 대신 "$break = true"의 mysqli_data_seek($result, mysqli_num_rows($result))를 사용mysqli 결과 포인터를 맨 끝으로 설정

$result = mysqli_query($link, $query); 
$break = false; 
while ($row = mysqli_fetch_assoc($result) { 
    if XXX is true 
     $break = true; 

    stuff to do ... 

    if ($break) 
     break; 
} 

때문에, 작동하지 않는 : 나는 이런 식으로 할 수있는 지금

$result = mysqli_query($link, $query); 
while ($row = mysqli_fetch_assoc($result) { 
    if XXX is true, this has to be the last time, this while-loop is active 
    stuff to do ... 
} 

을 :

내가 부탁 해요 이유는 이것이다 data_seek는 numrows-1 만 최대 오프셋으로 허용합니다. while 루프가 다시 실행되지 않도록 결과 포인터를 조작하는 다른 방법이 있습니까? "할 일"을하기 전에 명세서를 확인해야합니다. 그래서 여기서는 문장을 루프의 끝으로 옮기고 "중단"을 사용하십시오.

"EndOfLine($result)"과 같은 것이 필요합니다. mysqli_fetch_assoc은 마지막 레코드에있을 때와 비슷한 것을 수행하기 때문에 무언가가 있어야만한다.

답변

0

나는 나는 당신이 일을하려고하지만 mysqli_data_seek는 0에서 카운트 시작 mysqli_num_rows 오프셋 최대 따라서 1

numRows의-1에서 계산을 시작 고려하시기 바랍니다있는 것을 100 % 확인

이 마지막 줄입니다.

+0

네, 포인터를 마지막 줄로 이동하면 while 루프가 한 번 더 진행됩니다. 그게 내가하고 싶은게 아니야! mysqli_fetch_assoc가 더 이상 행을 가져올 수 없도록 마지막 행의 끝으로 가고 싶습니다. 나는 break를 사용하지 않고 while 루프를 종료하고 싶다. –

관련 문제