>  기사  >  백엔드 개발  >  请教高人看看这段代码那里错了,运行结果死循环。

请教高人看看这段代码那里错了,运行结果死循环。

WBOY
WBOY원래의
2016-06-23 13:36:01891검색

$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; //设定共取多少条记录 
//下面是取出指定数目的记录。 
$result_lim=mysql_query("select * from st  where cid = 1 limit $se_pos,$length"); 
$myrow_lim=mysql_fetch_array($result_lim); 


$se_pos1=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 limit $se_pos1,$length"); 
$myrow_lim1=mysql_fetch_array($result_lim1);



回复讨论(解决方案)

$result_lim1=mysql_query("select * from st  where cid = 1 limit $se_pos1,$length");  //除非出错,总是返回至少包含一条记录的结果集
$myrow_lim1=mysql_fetch_array($result_lim1);//所以 $myrow_lim1 总是为非空的数组

既然 $myrow_lim1 非空,那么这个循环怎么会终止呢?
while($myrow_lim=$myrow_lim1) {

谢谢大大的指点。。
我这里的$myrow_lim和$myrow_lim1都是代表的字符串,不是数值。。那么请问这个循环该怎么写?

问题已经解决。。。谢谢

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.