2017-12-07 16 views
-1

結果オブジェクトのEOLにジャンプする方法があるかどうか自分に尋ねています。 私はmysqli_data_seekで結果ポインタを操作できることを知っています。最後の最後にジャンプする方法はないようですね!mysqli結果ポインタを最後に設定します

私が求めている理由はこれです:

$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 ... 
} 

今、私はこのようにそれを行うことができます。

$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; 
} 

mysqli_data_seek($result, mysqli_num_rows($result))を使用する代わりに、「$break = trueは」ので、動作していませんdata_seekは最大オフセットとしてnumrows-1のみを許可します。 whileループがもう一度実行されないように、結果ポインタを操作する別の方法はありますか? 私は "やるべきこと"をする前にステートメントをチェックしなければならないので、ここでステートメントをループの最後に移動して "break"だけを使用するチャンスはありません。

EndOfLine($result)」のようなものが必要です。 mysqli_fetch_assocは最後のレコードにあるときに似たようなことをするので、何かが必要ですが、どうすればよいでしょうか?

答えて

0

私はあなたがやろうとしているものは100%を確認していないが、それmysqli_data_seekが0でカウントを開始し、mysqli_num_rowsが最大オフセットとして1

したがって

NUMROWS-1でカウントを開始を検討してください

が最終行です。

+0

ええ、ポインタを最後の行に移動すると、whileループがもう一度実行されます。それは私がやりたいことではありません! mysqli_fetch_assocが行をもうフェッチできないように、最後の行の最後に行きたいです。私は休憩を使わずにwhileループを終了したい。 –

関連する問題