ホームページ  >  記事  >  バックエンド開発  >  このコードのどこが間違っているのか教えてください。その結果、無限ループが発生します。

このコードのどこが間違っているのか教えてください。その結果、無限ループが発生します。

WBOY
WBOYオリジナル
2016-06-13 12:18:31891ブラウズ

このコードの何が問題なのかを専門家に尋ねてください。その結果、無限ループが発生します。
$result=mysql_query("SELECT * FROM st where cid = 1");
$max_num=mysql_num_rows($result);//データベース内のレコード数を取得します
srand((double) microtime() *10000000); //乱数シードを生成します。


$se_pos=rand(0, $max_num-1); // 0 から最大レコード数までの乱数を取得します
$length=1; // レコード数を設定しますget in total
//以下は指定された数のレコードを取得します。
$result_lim=mysql_query("select * from st where cid = 1 limit $se_pos,$length");
$myrow_lim=mysql_fetch_array($result_lim); rand(0, $max_num-1);
$result_lim1=mysql_query("select * from st where cid = 1 limit $se_pos1,$length");
$myrow_lim1=mysql_fetch_array($result_lim1);


while($myrow_lim=$myrow_lim1) {
$se_pos1=rand(0, $max_num-1);
$result_lim1=mysql_query("select * from st where cid = 1 制限$se_pos1,$length");
$myrow_lim1=mysql_fetch_array($result_lim1);
}



------ソリューションのアイデア------ ----------------

$result_lim1=mysql_query("select * from st where cid = 1 limit $se_pos1,$length"); // 問題がなければ間違っています。常に少なくとも 1 つのレコードを含む結果セットを返します$myrow_lim1=mysql_fetch_array($result_lim1);//つまり、$myrow_lim1 は常に空ではない配列です
$myrow_lim1 は空ではないので、何がこのループについては終わりますか?
while($myrow_lim=$myrow_lim1) {

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。